/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-fb4f59a-m [2022-04-28 15:09:59,318 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 15:09:59,335 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 15:09:59,368 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 15:09:59,369 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 15:09:59,369 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 15:09:59,371 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 15:09:59,372 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 15:09:59,374 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 15:09:59,374 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 15:09:59,375 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 15:09:59,375 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 15:09:59,376 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 15:09:59,376 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 15:09:59,377 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 15:09:59,377 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 15:09:59,378 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 15:09:59,378 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 15:09:59,379 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 15:09:59,381 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 15:09:59,382 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 15:09:59,389 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 15:09:59,390 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 15:09:59,392 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 15:09:59,393 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 15:09:59,395 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 15:09:59,395 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 15:09:59,395 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 15:09:59,396 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 15:09:59,396 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 15:09:59,396 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 15:09:59,397 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 15:09:59,397 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 15:09:59,397 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 15:09:59,398 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 15:09:59,398 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 15:09:59,398 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 15:09:59,399 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 15:09:59,399 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 15:09:59,399 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 15:09:59,400 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 15:09:59,404 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 15:09:59,404 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 15:09:59,410 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 15:09:59,410 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 15:09:59,415 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 15:09:59,416 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 15:09:59,416 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 15:09:59,416 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 15:09:59,416 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 15:09:59,416 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 15:09:59,416 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 15:09:59,416 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 15:09:59,416 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 15:09:59,417 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 15:09:59,417 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 15:09:59,417 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 15:09:59,417 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 15:09:59,417 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 15:09:59,417 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 15:09:59,417 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 15:09:59,417 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 15:09:59,417 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 15:09:59,418 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 15:09:59,418 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 15:09:59,418 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-28 15:09:59,577 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 15:09:59,600 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 15:09:59,601 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 15:09:59,602 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 15:09:59,603 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 15:09:59,604 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-28 15:09:59,650 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c5ae775ee/200fed24b1404f6b830182b794b94fa9/FLAGd2eca37d7 [2022-04-28 15:10:00,067 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 15:10:00,067 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ntdrivers/kbfiltr.i.cil-2.c [2022-04-28 15:10:00,090 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c5ae775ee/200fed24b1404f6b830182b794b94fa9/FLAGd2eca37d7 [2022-04-28 15:10:00,101 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c5ae775ee/200fed24b1404f6b830182b794b94fa9 [2022-04-28 15:10:00,102 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 15:10:00,104 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 15:10:00,105 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 15:10:00,105 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 15:10:00,108 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 15:10:00,111 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,112 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@60cf8d71 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00, skipping insertion in model container [2022-04-28 15:10:00,112 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,117 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 15:10:00,156 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 15:10:00,495 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-28 15:10:00,674 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 15:10:00,683 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 15:10:00,723 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-28 15:10:00,817 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 15:10:00,844 INFO L208 MainTranslator]: Completed translation [2022-04-28 15:10:00,844 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00 WrapperNode [2022-04-28 15:10:00,844 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 15:10:00,845 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 15:10:00,845 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 15:10:00,845 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 15:10:00,852 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,852 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,879 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,880 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,928 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,937 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,954 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,972 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 15:10:00,973 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 15:10:00,973 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 15:10:00,973 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 15:10:00,974 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (1/1) ... [2022-04-28 15:10:00,978 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 15:10:00,984 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 15:10:00,995 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-28 15:10:01,001 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-28 15:10:01,021 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 15:10:01,021 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 15:10:01,021 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-28 15:10:01,022 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-28 15:10:01,022 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~~PVOID~0~X~~PVOID~0~X~~PVOID~0~X~~PVOID~0~TO~VOID [2022-04-28 15:10:01,022 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 15:10:01,022 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 15:10:01,023 INFO L138 BoogieDeclarations]: Found implementation of procedure InterlockedIncrement [2022-04-28 15:10:01,023 INFO L138 BoogieDeclarations]: Found implementation of procedure InterlockedDecrement [2022-04-28 15:10:01,023 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_IoCtl [2022-04-28 15:10:01,023 INFO L138 BoogieDeclarations]: Found implementation of procedure errorFn [2022-04-28 15:10:01,023 INFO L138 BoogieDeclarations]: Found implementation of procedure _BLAST_init [2022-04-28 15:10:01,023 INFO L138 BoogieDeclarations]: Found implementation of procedure DriverEntry [2022-04-28 15:10:01,024 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_AddDevice [2022-04-28 15:10:01,024 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Complete [2022-04-28 15:10:01,025 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_CreateClose [2022-04-28 15:10:01,026 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_DispatchPassThrough [2022-04-28 15:10:01,026 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_InternIoCtl [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_PnP [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Power [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_InitializationRoutine [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_IsrHook [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_ServiceCallback [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Unload [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure stub_driver_init [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure ExAcquireFastMutex [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure ExReleaseFastMutex [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure ExAllocatePoolWithTag [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure ExFreePool [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedInsertHeadList [2022-04-28 15:10:01,027 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedInsertTailList [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedRemoveHeadList [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoAllocateMdl [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoAttachDeviceToDeviceStack [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoBuildAsynchronousFsdRequest [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoBuildDeviceIoControlRequest [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoCreateDevice [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoCreateSymbolicLink [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDeleteDevice [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDeleteSymbolicLink [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDetachDevice [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoFreeIrp [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoFreeMdl [2022-04-28 15:10:01,028 INFO L138 BoogieDeclarations]: Found implementation of procedure IoGetConfigurationInformation [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure IoQueryDeviceDescription [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure IoRegisterDeviceInterface [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure IoReleaseCancelSpinLock [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure IoSetDeviceInterfaceState [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure IoSetHardErrorOrVerifyDevice [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure stubMoreProcessingRequired [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure IofCallDriver [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure IofCompleteRequest [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure KeAcquireSpinLockRaiseToDpc [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure KeDelayExecutionThread [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeEvent [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeSemaphore [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeSpinLock [2022-04-28 15:10:01,029 INFO L138 BoogieDeclarations]: Found implementation of procedure KeReleaseSemaphore [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure KfReleaseSpinLock [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure KeSetEvent [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure KeWaitForSingleObject [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure MmAllocateContiguousMemory [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure MmFreeContiguousMemory [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure MmMapLockedPagesSpecifyCache [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure MmPageEntireDriver [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure MmResetDriverPaging [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure MmUnlockPages [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure ObReferenceObjectByHandle [2022-04-28 15:10:01,030 INFO L138 BoogieDeclarations]: Found implementation of procedure ObfDereferenceObject [2022-04-28 15:10:01,031 INFO L138 BoogieDeclarations]: Found implementation of procedure PoCallDriver [2022-04-28 15:10:01,031 INFO L138 BoogieDeclarations]: Found implementation of procedure PoStartNextPowerIrp [2022-04-28 15:10:01,031 INFO L138 BoogieDeclarations]: Found implementation of procedure PsCreateSystemThread [2022-04-28 15:10:01,031 INFO L138 BoogieDeclarations]: Found implementation of procedure PsTerminateSystemThread [2022-04-28 15:10:01,031 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlAnsiStringToUnicodeString [2022-04-28 15:10:01,031 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlCompareMemory [2022-04-28 15:10:01,031 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlCopyUnicodeString [2022-04-28 15:10:01,031 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlDeleteRegistryValue [2022-04-28 15:10:01,032 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlFreeUnicodeString [2022-04-28 15:10:01,032 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlInitString [2022-04-28 15:10:01,032 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlInitUnicodeString [2022-04-28 15:10:01,032 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlQueryRegistryValues [2022-04-28 15:10:01,032 INFO L138 BoogieDeclarations]: Found implementation of procedure ZwClose [2022-04-28 15:10:01,032 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memset [2022-04-28 15:10:01,033 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memmove [2022-04-28 15:10:01,033 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_long [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_ulong [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure memcpy [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure memmove [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure memset [2022-04-28 15:10:01,034 INFO L130 BoogieDeclarations]: Found specification of procedure RtlQueryRegistryValues [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure RtlDeleteRegistryValue [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure RtlInitString [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure RtlInitUnicodeString [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure RtlAnsiStringToUnicodeString [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure RtlCopyUnicodeString [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure RtlFreeUnicodeString [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure RtlCompareMemory [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure InterlockedIncrement [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 15:10:01,035 INFO L130 BoogieDeclarations]: Found specification of procedure InterlockedDecrement [2022-04-28 15:10:01,036 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeEvent [2022-04-28 15:10:01,036 INFO L130 BoogieDeclarations]: Found specification of procedure KeSetEvent [2022-04-28 15:10:01,036 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeSemaphore [2022-04-28 15:10:01,036 INFO L130 BoogieDeclarations]: Found specification of procedure KeReleaseSemaphore [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure KeDelayExecutionThread [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure KeWaitForSingleObject [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeSpinLock [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure KfReleaseSpinLock [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure ExAllocatePoolWithTag [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure ExFreePool [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure ExAcquireFastMutex [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure ExReleaseFastMutex [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedInsertHeadList [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedInsertTailList [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedRemoveHeadList [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure MmUnlockPages [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure MmMapLockedPagesSpecifyCache [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure MmAllocateContiguousMemory [2022-04-28 15:10:01,037 INFO L130 BoogieDeclarations]: Found specification of procedure MmFreeContiguousMemory [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure MmResetDriverPaging [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure MmPageEntireDriver [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure PsCreateSystemThread [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure PsTerminateSystemThread [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure IoAllocateMdl [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure IoAttachDeviceToDeviceStack [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure IoBuildAsynchronousFsdRequest [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure IoBuildDeviceIoControlRequest [2022-04-28 15:10:01,038 INFO L130 BoogieDeclarations]: Found specification of procedure IofCallDriver [2022-04-28 15:10:01,039 INFO L130 BoogieDeclarations]: Found specification of procedure IofCompleteRequest [2022-04-28 15:10:01,039 INFO L130 BoogieDeclarations]: Found specification of procedure IoCreateDevice [2022-04-28 15:10:01,039 INFO L130 BoogieDeclarations]: Found specification of procedure IoCreateSymbolicLink [2022-04-28 15:10:01,040 INFO L130 BoogieDeclarations]: Found specification of procedure IoDeleteDevice [2022-04-28 15:10:01,042 INFO L130 BoogieDeclarations]: Found specification of procedure IoDeleteSymbolicLink [2022-04-28 15:10:01,042 INFO L130 BoogieDeclarations]: Found specification of procedure IoDetachDevice [2022-04-28 15:10:01,047 INFO L130 BoogieDeclarations]: Found specification of procedure IoFreeIrp [2022-04-28 15:10:01,047 INFO L130 BoogieDeclarations]: Found specification of procedure IoFreeMdl [2022-04-28 15:10:01,047 INFO L130 BoogieDeclarations]: Found specification of procedure IoGetConfigurationInformation [2022-04-28 15:10:01,047 INFO L130 BoogieDeclarations]: Found specification of procedure IoQueryDeviceDescription [2022-04-28 15:10:01,047 INFO L130 BoogieDeclarations]: Found specification of procedure IoReleaseCancelSpinLock [2022-04-28 15:10:01,047 INFO L130 BoogieDeclarations]: Found specification of procedure IoSetHardErrorOrVerifyDevice [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure IoRegisterDeviceInterface [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure IoSetDeviceInterfaceState [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure PoCallDriver [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure PoStartNextPowerIrp [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure ObReferenceObjectByHandle [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure ObfDereferenceObject [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure ZwClose [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_AddDevice [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_CreateClose [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_DispatchPassThrough [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_InternIoCtl [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_IoCtl [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_PnP [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Power [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_InitializationRoutine [2022-04-28 15:10:01,048 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_IsrHook [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_ServiceCallback [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Unload [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure DriverEntry [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure errorFn [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure _BLAST_init [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memset [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Complete [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memmove [2022-04-28 15:10:01,049 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-28 15:10:01,049 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-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~~PVOID~0~X~~PVOID~0~X~~PVOID~0~X~~PVOID~0~TO~VOID [2022-04-28 15:10:01,049 INFO L130 BoogieDeclarations]: Found specification of procedure stub_driver_init [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uchar [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure stubMoreProcessingRequired [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure KeAcquireSpinLockRaiseToDpc [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~$Pointer$ [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~$Pointer$ [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2022-04-28 15:10:01,050 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~int [2022-04-28 15:10:01,433 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 15:10:01,435 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 15:10:01,466 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,514 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,515 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,515 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,530 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,530 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,560 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,569 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,569 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,570 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,588 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,588 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,592 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,610 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,610 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,892 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,907 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,908 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,908 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,927 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,928 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,928 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,953 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,953 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,969 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,975 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,975 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,975 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,981 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,981 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:01,981 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:01,989 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:01,989 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:02,028 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:02,034 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:02,035 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:02,035 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:02,041 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:02,041 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:02,055 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:02,222 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##43: assume false; [2022-04-28 15:10:02,222 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##44: assume !false; [2022-04-28 15:10:02,235 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:02,258 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##12: assume !false; [2022-04-28 15:10:02,258 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##11: assume false; [2022-04-28 15:10:02,270 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:02,275 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:02,275 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:02,281 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:03,490 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##21: assume !false; [2022-04-28 15:10:03,490 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##20: assume false; [2022-04-28 15:10:03,626 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:03,632 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:03,632 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:03,699 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:03,709 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:03,710 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:03,725 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:03,745 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##12: assume !false; [2022-04-28 15:10:03,745 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##11: assume false; [2022-04-28 15:10:03,754 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:03,763 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##16: assume !false; [2022-04-28 15:10:03,763 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##15: assume false; [2022-04-28 15:10:03,797 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:03,801 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:03,801 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:03,803 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:03,830 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##10: assume !false; [2022-04-28 15:10:03,831 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##9: assume false; [2022-04-28 15:10:03,833 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-28 15:10:03,838 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-28 15:10:03,838 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-28 15:10:03,867 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 15:10:03,876 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 15:10:03,876 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-04-28 15:10:03,877 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 03:10:03 BoogieIcfgContainer [2022-04-28 15:10:03,877 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 15:10:03,879 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 15:10:03,879 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 15:10:03,881 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 15:10:03,881 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 03:10:00" (1/3) ... [2022-04-28 15:10:03,881 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@77b94f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 03:10:03, skipping insertion in model container [2022-04-28 15:10:03,881 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:10:00" (2/3) ... [2022-04-28 15:10:03,882 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@77b94f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 03:10:03, skipping insertion in model container [2022-04-28 15:10:03,882 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 03:10:03" (3/3) ... [2022-04-28 15:10:03,882 INFO L111 eAbstractionObserver]: Analyzing ICFG kbfiltr.i.cil-2.c [2022-04-28 15:10:03,891 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 15:10:03,892 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 15:10:03,922 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 15:10:03,926 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7b5a8ace, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@19f6aae1 [2022-04-28 15:10:03,926 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 15:10:03,934 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-28 15:10:03,939 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-28 15:10:03,939 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:10:03,940 INFO L195 NwaCegarLoop]: 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-28 15:10:03,940 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:10:03,943 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:10:03,943 INFO L85 PathProgramCache]: Analyzing trace with hash 1774662017, now seen corresponding path program 1 times [2022-04-28 15:10:03,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:03,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1463948126] [2022-04-28 15:10:03,955 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:10:03,955 INFO L85 PathProgramCache]: Analyzing trace with hash 1774662017, now seen corresponding path program 2 times [2022-04-28 15:10:03,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:10:03,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1527837475] [2022-04-28 15:10:03,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:10:03,958 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:10:04,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:04,253 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:10:04,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:04,278 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-28 15:10:04,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-28 15:10:04,279 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {311#true} {311#true} #1270#return; {311#true} is VALID [2022-04-28 15:10:04,299 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:10:04,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:04,310 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-28 15:10:04,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-28 15:10:04,310 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {311#true} {311#true} #1216#return; {311#true} is VALID [2022-04-28 15:10:04,316 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:10:04,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:04,335 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:04,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:04,344 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-28 15:10:04,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-28 15:10:04,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-28 15:10:04,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-28 15:10:04,345 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-28 15:10:04,346 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-28 15:10:04,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-28 15:10:04,346 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-28 15:10:04,346 INFO L290 TraceCheckUtils]: 4: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-28 15:10:04,346 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-28 15:10:04,347 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-28 15:10:04,347 INFO L290 TraceCheckUtils]: 7: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-28 15:10:04,347 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {312#false} {311#true} #1218#return; {312#false} is VALID [2022-04-28 15:10:04,349 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-28 15:10:04,350 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-28 15:10:04,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-28 15:10:04,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {311#true} {311#true} #1270#return; {311#true} is VALID [2022-04-28 15:10:04,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {311#true} call #t~ret213 := main(); {311#true} is VALID [2022-04-28 15:10:04,350 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-28 15:10:04,354 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-28 15:10:04,355 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-28 15:10:04,355 INFO L290 TraceCheckUtils]: 8: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-28 15:10:04,355 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {311#true} {311#true} #1216#return; {311#true} is VALID [2022-04-28 15:10:04,356 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-28 15:10:04,356 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-28 15:10:04,357 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-28 15:10:04,357 INFO L290 TraceCheckUtils]: 13: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-28 15:10:04,357 INFO L290 TraceCheckUtils]: 14: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-28 15:10:04,357 INFO L290 TraceCheckUtils]: 15: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-28 15:10:04,357 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-28 15:10:04,357 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-28 15:10:04,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-28 15:10:04,358 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {312#false} {311#true} #1218#return; {312#false} is VALID [2022-04-28 15:10:04,358 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-28 15:10:04,359 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !(~status~5 >= 0); {312#false} is VALID [2022-04-28 15:10:04,359 INFO L290 TraceCheckUtils]: 22: Hoare triple {312#false} assume !(1 == ~pended~0); {312#false} is VALID [2022-04-28 15:10:04,359 INFO L290 TraceCheckUtils]: 23: Hoare triple {312#false} assume !(1 == ~pended~0); {312#false} is VALID [2022-04-28 15:10:04,359 INFO L290 TraceCheckUtils]: 24: Hoare triple {312#false} assume !(~s~0 == ~UNLOADED~0); {312#false} is VALID [2022-04-28 15:10:04,359 INFO L290 TraceCheckUtils]: 25: Hoare triple {312#false} assume !(-1 == ~status~5); {312#false} is VALID [2022-04-28 15:10:04,360 INFO L290 TraceCheckUtils]: 26: Hoare triple {312#false} assume !(~s~0 != ~SKIP2~0); {312#false} is VALID [2022-04-28 15:10:04,360 INFO L290 TraceCheckUtils]: 27: Hoare triple {312#false} assume 1 == ~pended~0; {312#false} is VALID [2022-04-28 15:10:04,360 INFO L290 TraceCheckUtils]: 28: Hoare triple {312#false} assume 259 != ~status~5; {312#false} is VALID [2022-04-28 15:10:04,362 INFO L272 TraceCheckUtils]: 29: Hoare triple {312#false} call errorFn(); {312#false} is VALID [2022-04-28 15:10:04,362 INFO L290 TraceCheckUtils]: 30: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-04-28 15:10:04,363 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-28 15:10:04,363 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:10:04,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1527837475] [2022-04-28 15:10:04,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1527837475] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:04,364 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:04,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 15:10:04,366 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:10:04,366 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1463948126] [2022-04-28 15:10:04,367 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1463948126] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:04,367 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:04,367 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 15:10:04,367 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [434238072] [2022-04-28 15:10:04,367 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:10:04,371 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-28 15:10:04,372 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:10:04,376 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-28 15:10:04,425 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-28 15:10:04,425 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 15:10:04,425 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:04,443 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 15:10:04,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 15:10:04,449 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-28 15:10:06,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-28 15:10:10,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:10,297 INFO L93 Difference]: Finished difference Result 643 states and 953 transitions. [2022-04-28 15:10:10,297 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 15:10:10,298 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-28 15:10:10,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:10:10,299 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-28 15:10:10,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 953 transitions. [2022-04-28 15:10:10,319 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-28 15:10:10,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 953 transitions. [2022-04-28 15:10:10,334 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 953 transitions. [2022-04-28 15:10:11,261 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-28 15:10:11,282 INFO L225 Difference]: With dead ends: 643 [2022-04-28 15:10:11,282 INFO L226 Difference]: Without dead ends: 343 [2022-04-28 15:10:11,285 INFO L412 NwaCegarLoop]: 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-28 15:10:11,287 INFO L413 NwaCegarLoop]: 335 mSDtfsCounter, 597 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 379 mSolverCounterSat, 220 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s 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, 3.4s IncrementalHoareTripleChecker+Time [2022-04-28 15:10:11,288 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [602 Valid, 463 Invalid, 600 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [220 Valid, 379 Invalid, 1 Unknown, 0 Unchecked, 3.4s Time] [2022-04-28 15:10:11,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-04-28 15:10:11,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 299. [2022-04-28 15:10:11,348 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:10:11,353 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-28 15:10:11,354 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-28 15:10:11,356 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-28 15:10:11,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:11,379 INFO L93 Difference]: Finished difference Result 343 states and 471 transitions. [2022-04-28 15:10:11,379 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 471 transitions. [2022-04-28 15:10:11,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:11,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:11,389 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-28 15:10:11,390 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-28 15:10:11,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:11,410 INFO L93 Difference]: Finished difference Result 343 states and 471 transitions. [2022-04-28 15:10:11,410 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 471 transitions. [2022-04-28 15:10:11,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:11,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:11,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:10:11,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:10:11,413 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-28 15:10:11,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 407 transitions. [2022-04-28 15:10:11,431 INFO L78 Accepts]: Start accepts. Automaton has 299 states and 407 transitions. Word has length 31 [2022-04-28 15:10:11,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:10:11,431 INFO L495 AbstractCegarLoop]: Abstraction has 299 states and 407 transitions. [2022-04-28 15:10:11,432 INFO L496 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-28 15:10:11,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 299 states and 407 transitions. [2022-04-28 15:10:11,942 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-28 15:10:11,943 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 407 transitions. [2022-04-28 15:10:11,943 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-28 15:10:11,943 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:10:11,943 INFO L195 NwaCegarLoop]: 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-28 15:10:11,944 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 15:10:11,944 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:10:11,944 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:10:11,944 INFO L85 PathProgramCache]: Analyzing trace with hash 186314115, now seen corresponding path program 1 times [2022-04-28 15:10:11,944 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:11,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1334443855] [2022-04-28 15:10:11,945 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:10:11,945 INFO L85 PathProgramCache]: Analyzing trace with hash 186314115, now seen corresponding path program 2 times [2022-04-28 15:10:11,945 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:10:11,945 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1302383006] [2022-04-28 15:10:11,945 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:10:11,945 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:10:12,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:12,186 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:10:12,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:12,197 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-28 15:10:12,197 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-28 15:10:12,197 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2910#true} {2910#true} #1270#return; {2910#true} is VALID [2022-04-28 15:10:12,219 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:10:12,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:12,227 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-28 15:10:12,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-28 15:10:12,228 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2910#true} {2910#true} #1216#return; {2910#true} is VALID [2022-04-28 15:10:12,235 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:10:12,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:12,268 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:12,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:12,276 INFO L290 TraceCheckUtils]: 0: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-28 15:10:12,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-28 15:10:12,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-28 15:10:12,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-28 15:10:12,276 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-28 15:10:12,277 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-28 15:10:12,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-28 15:10:12,277 INFO L290 TraceCheckUtils]: 3: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-28 15:10:12,277 INFO L290 TraceCheckUtils]: 4: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-28 15:10:12,277 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-28 15:10:12,277 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-28 15:10:12,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {2936#(= |DriverEntry_#res| 0)} assume true; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-28 15:10:12,279 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2936#(= |DriverEntry_#res| 0)} {2910#true} #1218#return; {2927#(= 0 |main_#t~ret169|)} is VALID [2022-04-28 15:10:12,280 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-28 15:10:12,280 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-28 15:10:12,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-28 15:10:12,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2910#true} {2910#true} #1270#return; {2910#true} is VALID [2022-04-28 15:10:12,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {2910#true} call #t~ret213 := main(); {2910#true} is VALID [2022-04-28 15:10:12,281 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-28 15:10:12,282 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-28 15:10:12,282 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-28 15:10:12,282 INFO L290 TraceCheckUtils]: 8: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-28 15:10:12,282 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2910#true} {2910#true} #1216#return; {2910#true} is VALID [2022-04-28 15:10:12,283 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-28 15:10:12,283 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-28 15:10:12,283 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-28 15:10:12,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-28 15:10:12,283 INFO L290 TraceCheckUtils]: 14: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-28 15:10:12,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-28 15:10:12,284 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-28 15:10:12,284 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-28 15:10:12,284 INFO L290 TraceCheckUtils]: 18: Hoare triple {2936#(= |DriverEntry_#res| 0)} assume true; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-28 15:10:12,285 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2936#(= |DriverEntry_#res| 0)} {2910#true} #1218#return; {2927#(= 0 |main_#t~ret169|)} is VALID [2022-04-28 15:10:12,285 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-28 15:10:12,286 INFO L290 TraceCheckUtils]: 21: Hoare triple {2928#(= main_~status~5 0)} assume !(~status~5 >= 0); {2911#false} is VALID [2022-04-28 15:10:12,286 INFO L290 TraceCheckUtils]: 22: Hoare triple {2911#false} assume !(1 == ~pended~0); {2911#false} is VALID [2022-04-28 15:10:12,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {2911#false} assume !(1 == ~pended~0); {2911#false} is VALID [2022-04-28 15:10:12,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {2911#false} assume !(~s~0 == ~UNLOADED~0); {2911#false} is VALID [2022-04-28 15:10:12,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {2911#false} assume !(-1 == ~status~5); {2911#false} is VALID [2022-04-28 15:10:12,286 INFO L290 TraceCheckUtils]: 26: Hoare triple {2911#false} assume !(~s~0 != ~SKIP2~0); {2911#false} is VALID [2022-04-28 15:10:12,286 INFO L290 TraceCheckUtils]: 27: Hoare triple {2911#false} assume 1 == ~pended~0; {2911#false} is VALID [2022-04-28 15:10:12,287 INFO L290 TraceCheckUtils]: 28: Hoare triple {2911#false} assume 259 != ~status~5; {2911#false} is VALID [2022-04-28 15:10:12,287 INFO L272 TraceCheckUtils]: 29: Hoare triple {2911#false} call errorFn(); {2911#false} is VALID [2022-04-28 15:10:12,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {2911#false} assume !false; {2911#false} is VALID [2022-04-28 15:10:12,287 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-28 15:10:12,287 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:10:12,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1302383006] [2022-04-28 15:10:12,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1302383006] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:12,288 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:12,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 15:10:12,288 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:10:12,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1334443855] [2022-04-28 15:10:12,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1334443855] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:12,288 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:12,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 15:10:12,288 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2000804543] [2022-04-28 15:10:12,288 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:10:12,289 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-28 15:10:12,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:10:12,290 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-28 15:10:12,328 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-28 15:10:12,328 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 15:10:12,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:12,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 15:10:12,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-28 15:10:12,329 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-28 15:10:14,416 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-28 15:10:22,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:22,158 INFO L93 Difference]: Finished difference Result 360 states and 492 transitions. [2022-04-28 15:10:22,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 15:10:22,159 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-28 15:10:22,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:10:22,159 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-28 15:10:22,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 492 transitions. [2022-04-28 15:10:22,164 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-28 15:10:22,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 492 transitions. [2022-04-28 15:10:22,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 492 transitions. [2022-04-28 15:10:22,706 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-28 15:10:22,714 INFO L225 Difference]: With dead ends: 360 [2022-04-28 15:10:22,714 INFO L226 Difference]: Without dead ends: 343 [2022-04-28 15:10:22,715 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 15:10:22,716 INFO L413 NwaCegarLoop]: 315 mSDtfsCounter, 600 mSDsluCounter, 369 mSDsCounter, 0 mSdLazyCounter, 1367 mSolverCounterSat, 220 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.8s 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, 5.8s IncrementalHoareTripleChecker+Time [2022-04-28 15:10:22,716 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [606 Valid, 684 Invalid, 1588 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [220 Valid, 1367 Invalid, 1 Unknown, 0 Unchecked, 5.8s Time] [2022-04-28 15:10:22,717 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-04-28 15:10:22,741 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 299. [2022-04-28 15:10:22,741 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:10:22,741 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-28 15:10:22,743 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-28 15:10:22,744 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-28 15:10:22,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:22,752 INFO L93 Difference]: Finished difference Result 343 states and 470 transitions. [2022-04-28 15:10:22,752 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 470 transitions. [2022-04-28 15:10:22,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:22,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:22,756 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-28 15:10:22,758 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-28 15:10:22,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:22,769 INFO L93 Difference]: Finished difference Result 343 states and 470 transitions. [2022-04-28 15:10:22,769 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 470 transitions. [2022-04-28 15:10:22,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:22,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:22,770 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:10:22,770 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:10:22,771 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-28 15:10:22,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 406 transitions. [2022-04-28 15:10:22,788 INFO L78 Accepts]: Start accepts. Automaton has 299 states and 406 transitions. Word has length 31 [2022-04-28 15:10:22,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:10:22,789 INFO L495 AbstractCegarLoop]: Abstraction has 299 states and 406 transitions. [2022-04-28 15:10:22,790 INFO L496 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-28 15:10:22,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 299 states and 406 transitions. [2022-04-28 15:10:23,279 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-28 15:10:23,279 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 406 transitions. [2022-04-28 15:10:23,280 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 15:10:23,280 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:10:23,280 INFO L195 NwaCegarLoop]: 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-28 15:10:23,280 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 15:10:23,281 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:10:23,281 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:10:23,281 INFO L85 PathProgramCache]: Analyzing trace with hash -1201516382, now seen corresponding path program 1 times [2022-04-28 15:10:23,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:23,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1967656617] [2022-04-28 15:10:23,281 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:10:23,282 INFO L85 PathProgramCache]: Analyzing trace with hash -1201516382, now seen corresponding path program 2 times [2022-04-28 15:10:23,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:10:23,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [824289775] [2022-04-28 15:10:23,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:10:23,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:10:23,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:23,434 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:10:23,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:23,448 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-28 15:10:23,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,448 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4948#true} #1270#return; {4948#true} is VALID [2022-04-28 15:10:23,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:10:23,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:23,486 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-28 15:10:23,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,486 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4948#true} #1216#return; {4948#true} is VALID [2022-04-28 15:10:23,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:10:23,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:23,508 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:23,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:23,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-28 15:10:23,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-28 15:10:23,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-28 15:10:23,519 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-28 15:10:23,520 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-28 15:10:23,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-28 15:10:23,520 INFO L290 TraceCheckUtils]: 3: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-28 15:10:23,521 INFO L290 TraceCheckUtils]: 4: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,521 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-28 15:10:23,528 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-28 15:10:23,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,530 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {4948#true} {4948#true} #1218#return; {4948#true} is VALID [2022-04-28 15:10:23,538 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:10:23,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:23,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:23,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:23,646 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-28 15:10:23,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-28 15:10:23,648 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-28 15:10:23,648 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-28 15:10:23,649 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-28 15:10:23,649 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-28 15:10:23,650 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-28 15:10:23,650 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-28 15:10:23,650 INFO L290 TraceCheckUtils]: 3: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-28 15:10:23,651 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-28 15:10:23,651 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-28 15:10:23,652 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-28 15:10:23,653 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-28 15:10:23,653 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-28 15:10:23,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {4949#false} assume true; {4949#false} is VALID [2022-04-28 15:10:23,653 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4949#false} {4948#true} #1220#return; {4949#false} is VALID [2022-04-28 15:10:23,699 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:10:23,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:23,706 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-28 15:10:23,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,707 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4949#false} #1222#return; {4949#false} is VALID [2022-04-28 15:10:23,708 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-28 15:10:23,708 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-28 15:10:23,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4948#true} {4948#true} #1270#return; {4948#true} is VALID [2022-04-28 15:10:23,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {4948#true} call #t~ret213 := main(); {4948#true} is VALID [2022-04-28 15:10:23,708 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-28 15:10:23,709 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-28 15:10:23,709 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-28 15:10:23,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,709 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4948#true} {4948#true} #1216#return; {4948#true} is VALID [2022-04-28 15:10:23,710 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-28 15:10:23,710 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-28 15:10:23,710 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-28 15:10:23,710 INFO L290 TraceCheckUtils]: 13: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-28 15:10:23,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-28 15:10:23,710 INFO L290 TraceCheckUtils]: 15: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,710 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-28 15:10:23,710 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-28 15:10:23,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,711 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4948#true} {4948#true} #1218#return; {4948#true} is VALID [2022-04-28 15:10:23,711 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-28 15:10:23,711 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-28 15:10:23,711 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-28 15:10:23,712 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-28 15:10:23,712 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-28 15:10:23,713 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-28 15:10:23,713 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-28 15:10:23,713 INFO L290 TraceCheckUtils]: 27: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-28 15:10:23,714 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-28 15:10:23,714 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-28 15:10:23,716 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-28 15:10:23,716 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-28 15:10:23,716 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-28 15:10:23,716 INFO L290 TraceCheckUtils]: 33: Hoare triple {4949#false} assume true; {4949#false} is VALID [2022-04-28 15:10:23,716 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4949#false} {4948#true} #1220#return; {4949#false} is VALID [2022-04-28 15:10:23,717 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-28 15:10:23,717 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-28 15:10:23,717 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-28 15:10:23,717 INFO L290 TraceCheckUtils]: 38: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-28 15:10:23,717 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4948#true} {4949#false} #1222#return; {4949#false} is VALID [2022-04-28 15:10:23,717 INFO L290 TraceCheckUtils]: 40: Hoare triple {4949#false} assume !!(~status~5 >= 0); {4949#false} is VALID [2022-04-28 15:10:23,717 INFO L290 TraceCheckUtils]: 41: Hoare triple {4949#false} assume 0 == ~__BLAST_NONDET~0; {4949#false} is VALID [2022-04-28 15:10:23,718 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-28 15:10:23,718 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-28 15:10:23,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {4949#false} assume 0 == #t~mem39 % 256;havoc #t~mem39; {4949#false} is VALID [2022-04-28 15:10:23,718 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-28 15:10:23,718 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-28 15:10:23,719 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-28 15:10:23,719 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-28 15:10:23,719 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-28 15:10:23,719 INFO L290 TraceCheckUtils]: 50: Hoare triple {4949#false} assume !(~s~0 == ~NP~0); {4949#false} is VALID [2022-04-28 15:10:23,719 INFO L272 TraceCheckUtils]: 51: Hoare triple {4949#false} call errorFn(); {4949#false} is VALID [2022-04-28 15:10:23,719 INFO L290 TraceCheckUtils]: 52: Hoare triple {4949#false} assume !false; {4949#false} is VALID [2022-04-28 15:10:23,719 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-28 15:10:23,720 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:10:23,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [824289775] [2022-04-28 15:10:23,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [824289775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:23,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:23,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:10:23,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:10:23,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1967656617] [2022-04-28 15:10:23,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1967656617] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:23,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:23,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:10:23,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [819439354] [2022-04-28 15:10:23,721 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:10:23,721 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-28 15:10:23,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:10:23,721 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-28 15:10:23,766 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-28 15:10:23,767 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 15:10:23,767 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:23,768 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 15:10:23,768 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 15:10:23,768 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-28 15:10:25,885 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-28 15:10:35,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:35,308 INFO L93 Difference]: Finished difference Result 599 states and 829 transitions. [2022-04-28 15:10:35,308 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 15:10:35,308 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-28 15:10:35,308 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:10:35,308 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-28 15:10:35,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 829 transitions. [2022-04-28 15:10:35,330 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-28 15:10:35,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 829 transitions. [2022-04-28 15:10:35,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 829 transitions. [2022-04-28 15:10:36,101 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-28 15:10:36,108 INFO L225 Difference]: With dead ends: 599 [2022-04-28 15:10:36,108 INFO L226 Difference]: Without dead ends: 348 [2022-04-28 15:10:36,109 INFO L412 NwaCegarLoop]: 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-28 15:10:36,110 INFO L413 NwaCegarLoop]: 312 mSDtfsCounter, 397 mSDsluCounter, 480 mSDsCounter, 0 mSdLazyCounter, 1840 mSolverCounterSat, 170 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s 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, 6.1s IncrementalHoareTripleChecker+Time [2022-04-28 15:10:36,111 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [400 Valid, 792 Invalid, 2011 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [170 Valid, 1840 Invalid, 1 Unknown, 0 Unchecked, 6.1s Time] [2022-04-28 15:10:36,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 348 states. [2022-04-28 15:10:36,152 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 348 to 303. [2022-04-28 15:10:36,152 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:10:36,153 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-28 15:10:36,153 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-28 15:10:36,154 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-28 15:10:36,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:36,162 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-28 15:10:36,162 INFO L276 IsEmpty]: Start isEmpty. Operand 348 states and 475 transitions. [2022-04-28 15:10:36,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:36,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:36,164 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-28 15:10:36,165 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-28 15:10:36,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:36,171 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-28 15:10:36,171 INFO L276 IsEmpty]: Start isEmpty. Operand 348 states and 475 transitions. [2022-04-28 15:10:36,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:36,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:36,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:10:36,173 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:10:36,173 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-28 15:10:36,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 303 states to 303 states and 410 transitions. [2022-04-28 15:10:36,180 INFO L78 Accepts]: Start accepts. Automaton has 303 states and 410 transitions. Word has length 53 [2022-04-28 15:10:36,181 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:10:36,181 INFO L495 AbstractCegarLoop]: Abstraction has 303 states and 410 transitions. [2022-04-28 15:10:36,181 INFO L496 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-28 15:10:36,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 303 states and 410 transitions. [2022-04-28 15:10:36,696 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-28 15:10:36,696 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 410 transitions. [2022-04-28 15:10:36,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 15:10:36,696 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:10:36,697 INFO L195 NwaCegarLoop]: 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-28 15:10:36,697 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 15:10:36,697 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:10:36,697 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:10:36,697 INFO L85 PathProgramCache]: Analyzing trace with hash 1078281185, now seen corresponding path program 1 times [2022-04-28 15:10:36,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:36,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1828741897] [2022-04-28 15:10:36,698 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:10:36,698 INFO L85 PathProgramCache]: Analyzing trace with hash 1078281185, now seen corresponding path program 2 times [2022-04-28 15:10:36,698 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:10:36,698 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [148739504] [2022-04-28 15:10:36,698 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:10:36,698 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:10:36,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:36,848 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:10:36,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:36,859 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-28 15:10:36,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,859 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7512#true} {7512#true} #1270#return; {7512#true} is VALID [2022-04-28 15:10:36,878 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:10:36,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:36,887 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-28 15:10:36,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,887 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7512#true} {7512#true} #1216#return; {7512#true} is VALID [2022-04-28 15:10:36,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:10:36,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:36,912 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:36,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:36,918 INFO L290 TraceCheckUtils]: 0: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-28 15:10:36,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-28 15:10:36,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-28 15:10:36,919 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-28 15:10:36,919 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-28 15:10:36,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-28 15:10:36,919 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-28 15:10:36,919 INFO L290 TraceCheckUtils]: 4: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,919 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-28 15:10:36,919 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-28 15:10:36,920 INFO L290 TraceCheckUtils]: 7: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,920 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {7512#true} {7512#true} #1218#return; {7512#true} is VALID [2022-04-28 15:10:36,928 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:10:36,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:36,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:36,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:36,950 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-28 15:10:36,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-28 15:10:36,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-28 15:10:36,950 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,950 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-28 15:10:36,950 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-28 15:10:36,951 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-28 15:10:36,952 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-28 15:10:36,952 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-28 15:10:36,952 INFO L290 TraceCheckUtils]: 4: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-28 15:10:36,952 INFO L290 TraceCheckUtils]: 5: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,952 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-28 15:10:36,952 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-28 15:10:36,952 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-28 15:10:36,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,952 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7512#true} {7512#true} #1220#return; {7512#true} is VALID [2022-04-28 15:10:36,974 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:10:36,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:36,987 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-28 15:10:36,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {7543#(= ~s~0 ~NP~0)} assume true; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-28 15:10:36,988 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7543#(= ~s~0 ~NP~0)} {7512#true} #1222#return; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-28 15:10:36,990 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-28 15:10:36,990 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-28 15:10:36,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7512#true} {7512#true} #1270#return; {7512#true} is VALID [2022-04-28 15:10:36,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {7512#true} call #t~ret213 := main(); {7512#true} is VALID [2022-04-28 15:10:36,991 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-28 15:10:36,991 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-28 15:10:36,992 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-28 15:10:36,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:36,992 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7512#true} {7512#true} #1216#return; {7512#true} is VALID [2022-04-28 15:10:36,992 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-28 15:10:36,996 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-28 15:10:36,996 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-28 15:10:36,997 INFO L290 TraceCheckUtils]: 13: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-28 15:10:37,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-28 15:10:37,001 INFO L290 TraceCheckUtils]: 15: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:37,001 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-28 15:10:37,001 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-28 15:10:37,002 INFO L290 TraceCheckUtils]: 18: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:37,002 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {7512#true} {7512#true} #1218#return; {7512#true} is VALID [2022-04-28 15:10:37,002 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-28 15:10:37,003 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-28 15:10:37,003 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-28 15:10:37,004 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-28 15:10:37,006 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-28 15:10:37,007 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-28 15:10:37,009 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-28 15:10:37,009 INFO L290 TraceCheckUtils]: 27: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-28 15:10:37,009 INFO L290 TraceCheckUtils]: 28: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-28 15:10:37,009 INFO L290 TraceCheckUtils]: 29: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:37,009 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-28 15:10:37,009 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-28 15:10:37,010 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-28 15:10:37,010 INFO L290 TraceCheckUtils]: 33: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-28 15:10:37,010 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7512#true} {7512#true} #1220#return; {7512#true} is VALID [2022-04-28 15:10:37,010 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-28 15:10:37,011 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-28 15:10:37,011 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-28 15:10:37,011 INFO L290 TraceCheckUtils]: 38: Hoare triple {7543#(= ~s~0 ~NP~0)} assume true; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-28 15:10:37,012 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7543#(= ~s~0 ~NP~0)} {7512#true} #1222#return; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-28 15:10:37,012 INFO L290 TraceCheckUtils]: 40: Hoare triple {7543#(= ~s~0 ~NP~0)} assume !!(~status~5 >= 0); {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-28 15:10:37,012 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-28 15:10:37,013 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-28 15:10:37,013 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-28 15:10:37,013 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-28 15:10:37,014 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-28 15:10:37,014 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-28 15:10:37,014 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-28 15:10:37,015 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-28 15:10:37,015 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-28 15:10:37,015 INFO L290 TraceCheckUtils]: 50: Hoare triple {7543#(= ~s~0 ~NP~0)} assume !(~s~0 == ~NP~0); {7513#false} is VALID [2022-04-28 15:10:37,015 INFO L272 TraceCheckUtils]: 51: Hoare triple {7513#false} call errorFn(); {7513#false} is VALID [2022-04-28 15:10:37,015 INFO L290 TraceCheckUtils]: 52: Hoare triple {7513#false} assume !false; {7513#false} is VALID [2022-04-28 15:10:37,017 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-28 15:10:37,017 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:10:37,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [148739504] [2022-04-28 15:10:37,017 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [148739504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:37,017 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:37,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 15:10:37,018 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:10:37,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1828741897] [2022-04-28 15:10:37,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1828741897] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:37,019 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:37,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 15:10:37,019 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1961403671] [2022-04-28 15:10:37,019 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:10:37,019 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-28 15:10:37,020 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:10:37,020 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-28 15:10:37,059 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-28 15:10:37,059 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 15:10:37,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:37,060 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 15:10:37,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 15:10:37,060 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-28 15:10:39,208 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-28 15:10:46,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:46,312 INFO L93 Difference]: Finished difference Result 492 states and 667 transitions. [2022-04-28 15:10:46,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 15:10:46,312 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-28 15:10:46,312 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:10:46,312 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-28 15:10:46,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 667 transitions. [2022-04-28 15:10:46,317 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-28 15:10:46,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 667 transitions. [2022-04-28 15:10:46,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 667 transitions. [2022-04-28 15:10:47,035 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-28 15:10:47,045 INFO L225 Difference]: With dead ends: 492 [2022-04-28 15:10:47,045 INFO L226 Difference]: Without dead ends: 431 [2022-04-28 15:10:47,046 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=63, Invalid=119, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:10:47,046 INFO L413 NwaCegarLoop]: 367 mSDtfsCounter, 659 mSDsluCounter, 283 mSDsCounter, 0 mSdLazyCounter, 1245 mSolverCounterSat, 219 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 15:10:47,047 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [664 Valid, 650 Invalid, 1465 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [219 Valid, 1245 Invalid, 1 Unknown, 0 Unchecked, 5.3s Time] [2022-04-28 15:10:47,047 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 431 states. [2022-04-28 15:10:47,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 431 to 374. [2022-04-28 15:10:47,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:10:47,081 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-28 15:10:47,082 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-28 15:10:47,082 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-28 15:10:47,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:47,091 INFO L93 Difference]: Finished difference Result 431 states and 578 transitions. [2022-04-28 15:10:47,091 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 578 transitions. [2022-04-28 15:10:47,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:47,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:47,093 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-28 15:10:47,094 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-28 15:10:47,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:47,103 INFO L93 Difference]: Finished difference Result 431 states and 578 transitions. [2022-04-28 15:10:47,103 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 578 transitions. [2022-04-28 15:10:47,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:47,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:47,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:10:47,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:10:47,105 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-28 15:10:47,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 374 states to 374 states and 498 transitions. [2022-04-28 15:10:47,113 INFO L78 Accepts]: Start accepts. Automaton has 374 states and 498 transitions. Word has length 53 [2022-04-28 15:10:47,114 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:10:47,114 INFO L495 AbstractCegarLoop]: Abstraction has 374 states and 498 transitions. [2022-04-28 15:10:47,114 INFO L496 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-28 15:10:47,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 374 states and 498 transitions. [2022-04-28 15:10:47,753 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-28 15:10:47,753 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 498 transitions. [2022-04-28 15:10:47,754 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 15:10:47,754 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:10:47,754 INFO L195 NwaCegarLoop]: 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-28 15:10:47,754 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 15:10:47,755 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:10:47,755 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:10:47,755 INFO L85 PathProgramCache]: Analyzing trace with hash 17478568, now seen corresponding path program 1 times [2022-04-28 15:10:47,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:47,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1461524889] [2022-04-28 15:10:47,756 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:10:47,756 INFO L85 PathProgramCache]: Analyzing trace with hash 17478568, now seen corresponding path program 2 times [2022-04-28 15:10:47,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:10:47,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [590236793] [2022-04-28 15:10:47,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:10:47,756 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:10:47,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:47,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:10:47,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:47,941 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-28 15:10:47,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:47,941 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10171#true} {10171#true} #1270#return; {10171#true} is VALID [2022-04-28 15:10:47,970 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:10:47,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:47,977 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-28 15:10:47,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:47,977 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10171#true} {10171#true} #1216#return; {10171#true} is VALID [2022-04-28 15:10:47,984 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:10:47,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:48,001 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:48,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:48,008 INFO L290 TraceCheckUtils]: 0: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-28 15:10:48,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-28 15:10:48,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-28 15:10:48,008 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-28 15:10:48,008 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-28 15:10:48,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-28 15:10:48,009 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-28 15:10:48,009 INFO L290 TraceCheckUtils]: 4: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,009 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-28 15:10:48,009 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-28 15:10:48,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,009 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {10171#true} {10171#true} #1218#return; {10171#true} is VALID [2022-04-28 15:10:48,034 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:10:48,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:48,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:48,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:48,073 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-28 15:10:48,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-28 15:10:48,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-28 15:10:48,073 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,073 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-28 15:10:48,073 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-28 15:10:48,075 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-28 15:10:48,075 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-28 15:10:48,075 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-28 15:10:48,075 INFO L290 TraceCheckUtils]: 4: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-28 15:10:48,075 INFO L290 TraceCheckUtils]: 5: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,075 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-28 15:10:48,075 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-28 15:10:48,075 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-28 15:10:48,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,075 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10171#true} {10171#true} #1220#return; {10171#true} is VALID [2022-04-28 15:10:48,088 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:10:48,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:48,098 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-28 15:10:48,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {10202#(= ~compRegistered~0 0)} assume true; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,098 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10202#(= ~compRegistered~0 0)} {10171#true} #1222#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,099 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-28 15:10:48,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:48,108 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-28 15:10:48,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {10171#true} is VALID [2022-04-28 15:10:48,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {10171#true} is VALID [2022-04-28 15:10:48,109 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume #res.base == dest.base && #res.offset == dest.offset; {10171#true} is VALID [2022-04-28 15:10:48,110 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {10171#true} {10202#(= ~compRegistered~0 0)} #1186#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,111 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-28 15:10:48,111 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-28 15:10:48,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10171#true} {10171#true} #1270#return; {10171#true} is VALID [2022-04-28 15:10:48,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {10171#true} call #t~ret213 := main(); {10171#true} is VALID [2022-04-28 15:10:48,111 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-28 15:10:48,112 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-28 15:10:48,112 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-28 15:10:48,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,113 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {10171#true} {10171#true} #1216#return; {10171#true} is VALID [2022-04-28 15:10:48,113 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-28 15:10:48,113 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-28 15:10:48,113 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-28 15:10:48,114 INFO L290 TraceCheckUtils]: 13: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-28 15:10:48,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-28 15:10:48,114 INFO L290 TraceCheckUtils]: 15: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,114 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-28 15:10:48,114 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-28 15:10:48,114 INFO L290 TraceCheckUtils]: 18: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,114 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10171#true} {10171#true} #1218#return; {10171#true} is VALID [2022-04-28 15:10:48,114 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-28 15:10:48,114 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-28 15:10:48,114 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-28 15:10:48,115 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-28 15:10:48,115 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-28 15:10:48,116 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-28 15:10:48,116 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-28 15:10:48,116 INFO L290 TraceCheckUtils]: 27: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-28 15:10:48,116 INFO L290 TraceCheckUtils]: 28: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-28 15:10:48,117 INFO L290 TraceCheckUtils]: 29: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,117 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-28 15:10:48,117 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-28 15:10:48,117 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-28 15:10:48,117 INFO L290 TraceCheckUtils]: 33: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-28 15:10:48,117 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10171#true} {10171#true} #1220#return; {10171#true} is VALID [2022-04-28 15:10:48,117 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-28 15:10:48,118 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-28 15:10:48,118 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-28 15:10:48,118 INFO L290 TraceCheckUtils]: 38: Hoare triple {10202#(= ~compRegistered~0 0)} assume true; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,118 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10202#(= ~compRegistered~0 0)} {10171#true} #1222#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,119 INFO L290 TraceCheckUtils]: 40: Hoare triple {10202#(= ~compRegistered~0 0)} assume !!(~status~5 >= 0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,119 INFO L290 TraceCheckUtils]: 41: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(0 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,119 INFO L290 TraceCheckUtils]: 42: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(1 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,120 INFO L290 TraceCheckUtils]: 43: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(2 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,120 INFO L290 TraceCheckUtils]: 44: Hoare triple {10202#(= ~compRegistered~0 0)} assume 3 == ~__BLAST_NONDET~0; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,121 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-28 15:10:48,121 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-28 15:10:48,121 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-28 15:10:48,121 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-28 15:10:48,122 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-28 15:10:48,122 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-28 15:10:48,122 INFO L290 TraceCheckUtils]: 51: Hoare triple {10171#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {10171#true} is VALID [2022-04-28 15:10:48,123 INFO L290 TraceCheckUtils]: 52: Hoare triple {10171#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {10171#true} is VALID [2022-04-28 15:10:48,123 INFO L290 TraceCheckUtils]: 53: Hoare triple {10171#true} assume #res.base == dest.base && #res.offset == dest.offset; {10171#true} is VALID [2022-04-28 15:10:48,123 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10171#true} {10202#(= ~compRegistered~0 0)} #1186#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,124 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-28 15:10:48,124 INFO L290 TraceCheckUtils]: 56: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(~s~0 != ~NP~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-28 15:10:48,124 INFO L290 TraceCheckUtils]: 57: Hoare triple {10202#(= ~compRegistered~0 0)} assume 0 != ~compRegistered~0; {10172#false} is VALID [2022-04-28 15:10:48,124 INFO L272 TraceCheckUtils]: 58: Hoare triple {10172#false} call errorFn(); {10172#false} is VALID [2022-04-28 15:10:48,124 INFO L290 TraceCheckUtils]: 59: Hoare triple {10172#false} assume !false; {10172#false} is VALID [2022-04-28 15:10:48,125 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-28 15:10:48,125 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:10:48,125 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [590236793] [2022-04-28 15:10:48,125 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [590236793] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:48,125 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:48,125 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 15:10:48,125 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:10:48,125 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1461524889] [2022-04-28 15:10:48,125 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1461524889] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:48,125 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:48,125 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 15:10:48,126 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2074975829] [2022-04-28 15:10:48,126 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:10:48,126 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-28 15:10:48,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:10:48,126 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-28 15:10:48,177 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-28 15:10:48,177 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 15:10:48,178 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:48,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 15:10:48,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 15:10:48,179 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-28 15:10:50,311 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-28 15:10:54,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:54,495 INFO L93 Difference]: Finished difference Result 569 states and 751 transitions. [2022-04-28 15:10:54,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 15:10:54,495 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-28 15:10:54,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:10:54,495 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-28 15:10:54,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 618 transitions. [2022-04-28 15:10:54,499 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-28 15:10:54,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 618 transitions. [2022-04-28 15:10:54,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 618 transitions. [2022-04-28 15:10:55,144 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-28 15:10:55,172 INFO L225 Difference]: With dead ends: 569 [2022-04-28 15:10:55,172 INFO L226 Difference]: Without dead ends: 450 [2022-04-28 15:10:55,172 INFO L412 NwaCegarLoop]: 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-28 15:10:55,173 INFO L413 NwaCegarLoop]: 318 mSDtfsCounter, 977 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 650 mSolverCounterSat, 334 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-28 15:10:55,173 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [989 Valid, 487 Invalid, 985 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [334 Valid, 650 Invalid, 1 Unknown, 0 Unchecked, 3.8s Time] [2022-04-28 15:10:55,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 450 states. [2022-04-28 15:10:55,213 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 450 to 410. [2022-04-28 15:10:55,213 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:10:55,214 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-28 15:10:55,215 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-28 15:10:55,216 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-28 15:10:55,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:55,225 INFO L93 Difference]: Finished difference Result 450 states and 596 transitions. [2022-04-28 15:10:55,225 INFO L276 IsEmpty]: Start isEmpty. Operand 450 states and 596 transitions. [2022-04-28 15:10:55,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:55,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:55,227 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-28 15:10:55,227 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-28 15:10:55,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:10:55,237 INFO L93 Difference]: Finished difference Result 450 states and 596 transitions. [2022-04-28 15:10:55,237 INFO L276 IsEmpty]: Start isEmpty. Operand 450 states and 596 transitions. [2022-04-28 15:10:55,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:10:55,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:10:55,238 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:10:55,238 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:10:55,239 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-28 15:10:55,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 410 states to 410 states and 545 transitions. [2022-04-28 15:10:55,250 INFO L78 Accepts]: Start accepts. Automaton has 410 states and 545 transitions. Word has length 60 [2022-04-28 15:10:55,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:10:55,251 INFO L495 AbstractCegarLoop]: Abstraction has 410 states and 545 transitions. [2022-04-28 15:10:55,251 INFO L496 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-28 15:10:55,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 410 states and 545 transitions. [2022-04-28 15:10:55,924 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-28 15:10:55,924 INFO L276 IsEmpty]: Start isEmpty. Operand 410 states and 545 transitions. [2022-04-28 15:10:55,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 15:10:55,931 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:10:55,931 INFO L195 NwaCegarLoop]: 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-28 15:10:55,931 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-28 15:10:55,931 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:10:55,931 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:10:55,931 INFO L85 PathProgramCache]: Analyzing trace with hash -110356200, now seen corresponding path program 1 times [2022-04-28 15:10:55,931 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:55,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1993703627] [2022-04-28 15:10:55,932 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:10:55,932 INFO L85 PathProgramCache]: Analyzing trace with hash -110356200, now seen corresponding path program 2 times [2022-04-28 15:10:55,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:10:55,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [745580974] [2022-04-28 15:10:55,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:10:55,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:10:55,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,083 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:10:56,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,095 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-28 15:10:56,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,095 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13100#true} {13100#true} #1270#return; {13100#true} is VALID [2022-04-28 15:10:56,115 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:10:56,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,134 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-28 15:10:56,134 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-28 15:10:56,135 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-28 15:10:56,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:10:56,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,163 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:56,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-28 15:10:56,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-28 15:10:56,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-28 15:10:56,170 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-28 15:10:56,170 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-28 15:10:56,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-28 15:10:56,170 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-28 15:10:56,170 INFO L290 TraceCheckUtils]: 4: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,170 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-28 15:10:56,170 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-28 15:10:56,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,171 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-28 15:10:56,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:10:56,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,192 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:10:56,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,200 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-28 15:10:56,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-28 15:10:56,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-28 15:10:56,200 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,200 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-28 15:10:56,200 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-28 15:10:56,202 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-28 15:10:56,202 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-28 15:10:56,202 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-28 15:10:56,202 INFO L290 TraceCheckUtils]: 4: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-28 15:10:56,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,202 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-28 15:10:56,202 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-28 15:10:56,202 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-28 15:10:56,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,203 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-28 15:10:56,216 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:10:56,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,255 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-28 15:10:56,255 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-28 15:10:56,256 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-28 15:10:56,256 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-28 15:10:56,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:10:56,270 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-28 15:10:56,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {13100#true} is VALID [2022-04-28 15:10:56,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,271 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-28 15:10:56,272 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-28 15:10:56,272 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-28 15:10:56,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13100#true} #1270#return; {13100#true} is VALID [2022-04-28 15:10:56,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {13100#true} call #t~ret213 := main(); {13100#true} is VALID [2022-04-28 15:10:56,273 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-28 15:10:56,273 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-28 15:10:56,274 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-28 15:10:56,274 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-28 15:10:56,275 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-28 15:10:56,276 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-28 15:10:56,276 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-28 15:10:56,276 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-28 15:10:56,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-28 15:10:56,276 INFO L290 TraceCheckUtils]: 14: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-28 15:10:56,276 INFO L290 TraceCheckUtils]: 15: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,276 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-28 15:10:56,276 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-28 15:10:56,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,277 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-28 15:10:56,277 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-28 15:10:56,278 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-28 15:10:56,278 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-28 15:10:56,279 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-28 15:10:56,279 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-28 15:10:56,280 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-28 15:10:56,280 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-28 15:10:56,280 INFO L290 TraceCheckUtils]: 27: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-28 15:10:56,280 INFO L290 TraceCheckUtils]: 28: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-28 15:10:56,280 INFO L290 TraceCheckUtils]: 29: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,280 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-28 15:10:56,280 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-28 15:10:56,280 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-28 15:10:56,281 INFO L290 TraceCheckUtils]: 33: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,281 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-28 15:10:56,282 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-28 15:10:56,282 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-28 15:10:56,283 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-28 15:10:56,283 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-28 15:10:56,283 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-28 15:10:56,284 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-28 15:10:56,284 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-28 15:10:56,284 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-28 15:10:56,285 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-28 15:10:56,285 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-28 15:10:56,285 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-28 15:10:56,285 INFO L290 TraceCheckUtils]: 46: Hoare triple {13100#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {13100#true} is VALID [2022-04-28 15:10:56,285 INFO L290 TraceCheckUtils]: 47: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-28 15:10:56,286 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-28 15:10:56,286 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-28 15:10:56,286 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-28 15:10:56,286 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-28 15:10:56,287 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-28 15:10:56,287 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-28 15:10:56,287 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-28 15:10:56,288 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-28 15:10:56,288 INFO L290 TraceCheckUtils]: 56: Hoare triple {13101#false} assume 1 == ~pended~0; {13101#false} is VALID [2022-04-28 15:10:56,288 INFO L290 TraceCheckUtils]: 57: Hoare triple {13101#false} assume 259 != ~status~5; {13101#false} is VALID [2022-04-28 15:10:56,288 INFO L272 TraceCheckUtils]: 58: Hoare triple {13101#false} call errorFn(); {13101#false} is VALID [2022-04-28 15:10:56,288 INFO L290 TraceCheckUtils]: 59: Hoare triple {13101#false} assume !false; {13101#false} is VALID [2022-04-28 15:10:56,289 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-28 15:10:56,289 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:10:56,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [745580974] [2022-04-28 15:10:56,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [745580974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:56,289 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:56,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:10:56,289 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:10:56,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1993703627] [2022-04-28 15:10:56,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1993703627] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:10:56,289 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:10:56,290 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:10:56,290 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1462839340] [2022-04-28 15:10:56,290 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:10:56,291 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-28 15:10:56,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:10:56,291 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-28 15:10:56,334 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-28 15:10:56,335 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 15:10:56,335 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:10:56,335 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 15:10:56,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 15:10:56,336 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-28 15:10:58,527 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-28 15:11:04,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:04,910 INFO L93 Difference]: Finished difference Result 450 states and 594 transitions. [2022-04-28 15:11:04,910 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 15:11:04,910 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-28 15:11:04,911 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:11:04,911 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-28 15:11:04,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 542 transitions. [2022-04-28 15:11:04,914 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-28 15:11:04,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 542 transitions. [2022-04-28 15:11:04,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 542 transitions. [2022-04-28 15:11:05,565 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-28 15:11:05,576 INFO L225 Difference]: With dead ends: 450 [2022-04-28 15:11:05,576 INFO L226 Difference]: Without dead ends: 442 [2022-04-28 15:11:05,576 INFO L412 NwaCegarLoop]: 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-28 15:11:05,578 INFO L413 NwaCegarLoop]: 334 mSDtfsCounter, 1626 mSDsluCounter, 206 mSDsCounter, 0 mSdLazyCounter, 743 mSolverCounterSat, 562 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s 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, 4.3s IncrementalHoareTripleChecker+Time [2022-04-28 15:11:05,578 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1635 Valid, 540 Invalid, 1306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [562 Valid, 743 Invalid, 1 Unknown, 0 Unchecked, 4.3s Time] [2022-04-28 15:11:05,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 442 states. [2022-04-28 15:11:05,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 442 to 415. [2022-04-28 15:11:05,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:11:05,816 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-28 15:11:05,816 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-28 15:11:05,817 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-28 15:11:05,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:05,825 INFO L93 Difference]: Finished difference Result 442 states and 585 transitions. [2022-04-28 15:11:05,825 INFO L276 IsEmpty]: Start isEmpty. Operand 442 states and 585 transitions. [2022-04-28 15:11:05,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:05,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:05,827 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-28 15:11:05,828 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-28 15:11:05,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:05,836 INFO L93 Difference]: Finished difference Result 442 states and 585 transitions. [2022-04-28 15:11:05,836 INFO L276 IsEmpty]: Start isEmpty. Operand 442 states and 585 transitions. [2022-04-28 15:11:05,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:05,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:05,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:11:05,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:11:05,838 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-28 15:11:05,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 551 transitions. [2022-04-28 15:11:05,847 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 551 transitions. Word has length 60 [2022-04-28 15:11:05,848 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:11:05,848 INFO L495 AbstractCegarLoop]: Abstraction has 415 states and 551 transitions. [2022-04-28 15:11:05,848 INFO L496 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-28 15:11:05,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 551 transitions. [2022-04-28 15:11:06,612 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-28 15:11:06,612 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 551 transitions. [2022-04-28 15:11:06,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 15:11:06,613 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:11:06,613 INFO L195 NwaCegarLoop]: 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-28 15:11:06,613 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-28 15:11:06,613 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:11:06,614 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:11:06,614 INFO L85 PathProgramCache]: Analyzing trace with hash 400358010, now seen corresponding path program 1 times [2022-04-28 15:11:06,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:06,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1303958645] [2022-04-28 15:11:06,614 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:11:06,614 INFO L85 PathProgramCache]: Analyzing trace with hash 400358010, now seen corresponding path program 2 times [2022-04-28 15:11:06,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:11:06,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1387471626] [2022-04-28 15:11:06,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:11:06,614 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:11:06,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:06,757 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:11:06,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:06,771 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-28 15:11:06,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,772 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15799#true} {15799#true} #1270#return; {15799#true} is VALID [2022-04-28 15:11:06,798 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:11:06,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:06,805 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-28 15:11:06,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,806 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15799#true} {15799#true} #1216#return; {15799#true} is VALID [2022-04-28 15:11:06,813 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:11:06,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:06,831 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:06,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:06,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {15799#true} ~cond := #in~cond; {15799#true} is VALID [2022-04-28 15:11:06,841 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume !(0 == ~cond); {15799#true} is VALID [2022-04-28 15:11:06,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15799#true} {15799#true} #1254#return; {15799#true} is VALID [2022-04-28 15:11:06,841 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-28 15:11:06,841 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-28 15:11:06,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {15799#true} ~cond := #in~cond; {15799#true} is VALID [2022-04-28 15:11:06,841 INFO L290 TraceCheckUtils]: 3: Hoare triple {15799#true} assume !(0 == ~cond); {15799#true} is VALID [2022-04-28 15:11:06,841 INFO L290 TraceCheckUtils]: 4: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,841 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {15799#true} {15799#true} #1254#return; {15799#true} is VALID [2022-04-28 15:11:06,842 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-28 15:11:06,842 INFO L290 TraceCheckUtils]: 7: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,842 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {15799#true} {15799#true} #1218#return; {15799#true} is VALID [2022-04-28 15:11:06,851 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:11:06,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:06,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:06,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:06,868 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-28 15:11:06,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume !(0 == ~__BLAST_NONDET~5); {15799#true} is VALID [2022-04-28 15:11:06,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {15799#true} #res := -1073741823; {15799#true} is VALID [2022-04-28 15:11:06,868 INFO L290 TraceCheckUtils]: 3: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,868 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {15799#true} {15799#true} #1176#return; {15799#true} is VALID [2022-04-28 15:11:06,868 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-28 15:11:06,870 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-28 15:11:06,870 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-28 15:11:06,870 INFO L290 TraceCheckUtils]: 3: Hoare triple {15799#true} assume !(0 == ~__BLAST_NONDET~5); {15799#true} is VALID [2022-04-28 15:11:06,870 INFO L290 TraceCheckUtils]: 4: Hoare triple {15799#true} #res := -1073741823; {15799#true} is VALID [2022-04-28 15:11:06,870 INFO L290 TraceCheckUtils]: 5: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,870 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {15799#true} {15799#true} #1176#return; {15799#true} is VALID [2022-04-28 15:11:06,870 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-28 15:11:06,870 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-28 15:11:06,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,870 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15799#true} {15799#true} #1220#return; {15799#true} is VALID [2022-04-28 15:11:06,883 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:11:06,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:06,891 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-28 15:11:06,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,891 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15799#true} {15799#true} #1222#return; {15799#true} is VALID [2022-04-28 15:11:06,892 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-28 15:11:06,892 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-28 15:11:06,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15799#true} {15799#true} #1270#return; {15799#true} is VALID [2022-04-28 15:11:06,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {15799#true} call #t~ret213 := main(); {15799#true} is VALID [2022-04-28 15:11:06,893 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-28 15:11:06,894 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-28 15:11:06,894 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-28 15:11:06,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,894 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {15799#true} {15799#true} #1216#return; {15799#true} is VALID [2022-04-28 15:11:06,895 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-28 15:11:06,895 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-28 15:11:06,895 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-28 15:11:06,895 INFO L290 TraceCheckUtils]: 13: Hoare triple {15799#true} ~cond := #in~cond; {15799#true} is VALID [2022-04-28 15:11:06,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {15799#true} assume !(0 == ~cond); {15799#true} is VALID [2022-04-28 15:11:06,895 INFO L290 TraceCheckUtils]: 15: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,895 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15799#true} {15799#true} #1254#return; {15799#true} is VALID [2022-04-28 15:11:06,895 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-28 15:11:06,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,895 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {15799#true} {15799#true} #1218#return; {15799#true} is VALID [2022-04-28 15:11:06,895 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-28 15:11:06,895 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-28 15:11:06,896 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-28 15:11:06,896 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-28 15:11:06,896 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-28 15:11:06,898 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-28 15:11:06,898 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-28 15:11:06,898 INFO L290 TraceCheckUtils]: 27: Hoare triple {15799#true} assume !(0 == ~__BLAST_NONDET~5); {15799#true} is VALID [2022-04-28 15:11:06,898 INFO L290 TraceCheckUtils]: 28: Hoare triple {15799#true} #res := -1073741823; {15799#true} is VALID [2022-04-28 15:11:06,898 INFO L290 TraceCheckUtils]: 29: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,898 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15799#true} {15799#true} #1176#return; {15799#true} is VALID [2022-04-28 15:11:06,898 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-28 15:11:06,898 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-28 15:11:06,898 INFO L290 TraceCheckUtils]: 33: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,898 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {15799#true} {15799#true} #1220#return; {15799#true} is VALID [2022-04-28 15:11:06,898 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-28 15:11:06,899 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-28 15:11:06,899 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-28 15:11:06,899 INFO L290 TraceCheckUtils]: 38: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-28 15:11:06,899 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {15799#true} {15799#true} #1222#return; {15799#true} is VALID [2022-04-28 15:11:06,899 INFO L290 TraceCheckUtils]: 40: Hoare triple {15799#true} assume !!(~status~5 >= 0); {15799#true} is VALID [2022-04-28 15:11:06,899 INFO L290 TraceCheckUtils]: 41: Hoare triple {15799#true} assume 0 == ~__BLAST_NONDET~0; {15799#true} is VALID [2022-04-28 15:11:06,899 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-28 15:11:06,899 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-28 15:11:06,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {15799#true} assume 0 == #t~mem39 % 256;havoc #t~mem39; {15799#true} is VALID [2022-04-28 15:11:06,900 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-28 15:11:06,900 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-28 15:11:06,900 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-28 15:11:06,900 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-28 15:11:06,900 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-28 15:11:06,900 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-28 15:11:06,901 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-28 15:11:06,902 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-28 15:11:06,902 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-28 15:11:06,902 INFO L290 TraceCheckUtils]: 54: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} assume !(0 != ~compRegistered~0); {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-28 15:11:06,903 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-28 15:11:06,903 INFO L290 TraceCheckUtils]: 56: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} ~returnVal2~0 := 0; {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-28 15:11:06,903 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-28 15:11:06,904 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-28 15:11:06,904 INFO L290 TraceCheckUtils]: 59: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} assume !(~s~0 == ~SKIP1~0); {15800#false} is VALID [2022-04-28 15:11:06,904 INFO L272 TraceCheckUtils]: 60: Hoare triple {15800#false} call errorFn(); {15800#false} is VALID [2022-04-28 15:11:06,904 INFO L290 TraceCheckUtils]: 61: Hoare triple {15800#false} assume !false; {15800#false} is VALID [2022-04-28 15:11:06,904 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-28 15:11:06,904 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:11:06,904 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1387471626] [2022-04-28 15:11:06,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1387471626] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:06,905 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:06,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 15:11:06,905 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:11:06,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1303958645] [2022-04-28 15:11:06,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1303958645] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:06,905 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:06,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 15:11:06,905 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1617306646] [2022-04-28 15:11:06,905 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:11:06,906 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-28 15:11:06,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:11:06,906 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-28 15:11:06,967 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-28 15:11:06,968 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 15:11:06,968 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:06,968 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 15:11:06,968 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 15:11:06,968 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-28 15:11:09,129 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-28 15:11:15,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:15,695 INFO L93 Difference]: Finished difference Result 433 states and 574 transitions. [2022-04-28 15:11:15,695 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 15:11:15,695 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-28 15:11:15,695 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:11:15,695 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-28 15:11:15,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 440 transitions. [2022-04-28 15:11:15,698 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-28 15:11:15,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 440 transitions. [2022-04-28 15:11:15,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 440 transitions. [2022-04-28 15:11:16,222 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-28 15:11:16,231 INFO L225 Difference]: With dead ends: 433 [2022-04-28 15:11:16,232 INFO L226 Difference]: Without dead ends: 429 [2022-04-28 15:11:16,232 INFO L412 NwaCegarLoop]: 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-28 15:11:16,233 INFO L413 NwaCegarLoop]: 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-28 15:11:16,234 INFO L414 NwaCegarLoop]: 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-28 15:11:16,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 429 states. [2022-04-28 15:11:16,464 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 429 to 414. [2022-04-28 15:11:16,464 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:11:16,465 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-28 15:11:16,465 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-28 15:11:16,466 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-28 15:11:16,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:16,474 INFO L93 Difference]: Finished difference Result 429 states and 569 transitions. [2022-04-28 15:11:16,474 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 569 transitions. [2022-04-28 15:11:16,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:16,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:16,476 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-28 15:11:16,476 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-28 15:11:16,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:16,484 INFO L93 Difference]: Finished difference Result 429 states and 569 transitions. [2022-04-28 15:11:16,484 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 569 transitions. [2022-04-28 15:11:16,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:16,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:16,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:11:16,485 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:11:16,486 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-28 15:11:16,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 414 states to 414 states and 548 transitions. [2022-04-28 15:11:16,502 INFO L78 Accepts]: Start accepts. Automaton has 414 states and 548 transitions. Word has length 62 [2022-04-28 15:11:16,502 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:11:16,502 INFO L495 AbstractCegarLoop]: Abstraction has 414 states and 548 transitions. [2022-04-28 15:11:16,503 INFO L496 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-28 15:11:16,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 414 states and 548 transitions. [2022-04-28 15:11:17,222 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-28 15:11:17,222 INFO L276 IsEmpty]: Start isEmpty. Operand 414 states and 548 transitions. [2022-04-28 15:11:17,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 15:11:17,223 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:11:17,223 INFO L195 NwaCegarLoop]: 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-28 15:11:17,223 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-28 15:11:17,223 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:11:17,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:11:17,223 INFO L85 PathProgramCache]: Analyzing trace with hash 466089939, now seen corresponding path program 1 times [2022-04-28 15:11:17,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:17,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [946822891] [2022-04-28 15:11:17,224 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:11:17,224 INFO L85 PathProgramCache]: Analyzing trace with hash 466089939, now seen corresponding path program 2 times [2022-04-28 15:11:17,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:11:17,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2024778129] [2022-04-28 15:11:17,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:11:17,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:11:17,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,411 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:11:17,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,419 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-28 15:11:17,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,419 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18413#true} {18413#true} #1270#return; {18413#true} is VALID [2022-04-28 15:11:17,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:11:17,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,461 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-28 15:11:17,461 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-28 15:11:17,462 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-28 15:11:17,469 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:11:17,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:17,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,494 INFO L290 TraceCheckUtils]: 0: Hoare triple {18413#true} ~cond := #in~cond; {18413#true} is VALID [2022-04-28 15:11:17,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {18413#true} assume !(0 == ~cond); {18413#true} is VALID [2022-04-28 15:11:17,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18413#true} {18413#true} #1254#return; {18413#true} is VALID [2022-04-28 15:11:17,495 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-28 15:11:17,495 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-28 15:11:17,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} ~cond := #in~cond; {18413#true} is VALID [2022-04-28 15:11:17,495 INFO L290 TraceCheckUtils]: 3: Hoare triple {18413#true} assume !(0 == ~cond); {18413#true} is VALID [2022-04-28 15:11:17,495 INFO L290 TraceCheckUtils]: 4: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,495 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {18413#true} {18413#true} #1254#return; {18413#true} is VALID [2022-04-28 15:11:17,495 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-28 15:11:17,495 INFO L290 TraceCheckUtils]: 7: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,496 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-28 15:11:17,506 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:11:17,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,517 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:17,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,524 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-28 15:11:17,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {18413#true} assume !(0 == ~__BLAST_NONDET~5); {18413#true} is VALID [2022-04-28 15:11:17,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} #res := -1073741823; {18413#true} is VALID [2022-04-28 15:11:17,525 INFO L290 TraceCheckUtils]: 3: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,525 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {18413#true} {18413#true} #1176#return; {18413#true} is VALID [2022-04-28 15:11:17,525 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-28 15:11:17,526 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-28 15:11:17,526 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-28 15:11:17,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {18413#true} assume !(0 == ~__BLAST_NONDET~5); {18413#true} is VALID [2022-04-28 15:11:17,526 INFO L290 TraceCheckUtils]: 4: Hoare triple {18413#true} #res := -1073741823; {18413#true} is VALID [2022-04-28 15:11:17,526 INFO L290 TraceCheckUtils]: 5: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,526 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {18413#true} {18413#true} #1176#return; {18413#true} is VALID [2022-04-28 15:11:17,527 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-28 15:11:17,527 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-28 15:11:17,527 INFO L290 TraceCheckUtils]: 9: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,527 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-28 15:11:17,541 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:11:17,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,580 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-28 15:11:17,581 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-28 15:11:17,582 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-28 15:11:17,582 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-28 15:11:17,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:17,590 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-28 15:11:17,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {18413#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {18413#true} is VALID [2022-04-28 15:11:17,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,591 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-28 15:11:17,592 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-28 15:11:17,593 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-28 15:11:17,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,593 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18413#true} {18413#true} #1270#return; {18413#true} is VALID [2022-04-28 15:11:17,593 INFO L272 TraceCheckUtils]: 4: Hoare triple {18413#true} call #t~ret213 := main(); {18413#true} is VALID [2022-04-28 15:11:17,593 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-28 15:11:17,594 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-28 15:11:17,594 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-28 15:11:17,595 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-28 15:11:17,595 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-28 15:11:17,596 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-28 15:11:17,596 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-28 15:11:17,596 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-28 15:11:17,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {18413#true} ~cond := #in~cond; {18413#true} is VALID [2022-04-28 15:11:17,596 INFO L290 TraceCheckUtils]: 14: Hoare triple {18413#true} assume !(0 == ~cond); {18413#true} is VALID [2022-04-28 15:11:17,596 INFO L290 TraceCheckUtils]: 15: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,596 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18413#true} {18413#true} #1254#return; {18413#true} is VALID [2022-04-28 15:11:17,596 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-28 15:11:17,596 INFO L290 TraceCheckUtils]: 18: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,597 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-28 15:11:17,597 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-28 15:11:17,600 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-28 15:11:17,601 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-28 15:11:17,601 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-28 15:11:17,602 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-28 15:11:17,603 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-28 15:11:17,603 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-28 15:11:17,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {18413#true} assume !(0 == ~__BLAST_NONDET~5); {18413#true} is VALID [2022-04-28 15:11:17,603 INFO L290 TraceCheckUtils]: 28: Hoare triple {18413#true} #res := -1073741823; {18413#true} is VALID [2022-04-28 15:11:17,603 INFO L290 TraceCheckUtils]: 29: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,603 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18413#true} {18413#true} #1176#return; {18413#true} is VALID [2022-04-28 15:11:17,603 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-28 15:11:17,603 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-28 15:11:17,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,604 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-28 15:11:17,604 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-28 15:11:17,605 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-28 15:11:17,605 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-28 15:11:17,606 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-28 15:11:17,606 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-28 15:11:17,607 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-28 15:11:17,608 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-28 15:11:17,608 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-28 15:11:17,608 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-28 15:11:17,608 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-28 15:11:17,608 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-28 15:11:17,608 INFO L290 TraceCheckUtils]: 46: Hoare triple {18413#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {18413#true} is VALID [2022-04-28 15:11:17,609 INFO L290 TraceCheckUtils]: 47: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-28 15:11:17,609 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-28 15:11:17,610 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-28 15:11:17,610 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-28 15:11:17,610 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-28 15:11:17,610 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-28 15:11:17,611 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-28 15:11:17,611 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-28 15:11:17,611 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-28 15:11:17,612 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-28 15:11:17,612 INFO L290 TraceCheckUtils]: 57: Hoare triple {18414#false} assume 1 == ~pended~0; {18414#false} is VALID [2022-04-28 15:11:17,612 INFO L290 TraceCheckUtils]: 58: Hoare triple {18414#false} assume 259 != ~status~5; {18414#false} is VALID [2022-04-28 15:11:17,612 INFO L272 TraceCheckUtils]: 59: Hoare triple {18414#false} call errorFn(); {18414#false} is VALID [2022-04-28 15:11:17,612 INFO L290 TraceCheckUtils]: 60: Hoare triple {18414#false} assume !false; {18414#false} is VALID [2022-04-28 15:11:17,612 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-28 15:11:17,612 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:11:17,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2024778129] [2022-04-28 15:11:17,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2024778129] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:17,613 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:17,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:11:17,613 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:11:17,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [946822891] [2022-04-28 15:11:17,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [946822891] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:17,613 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:17,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:11:17,613 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1453553138] [2022-04-28 15:11:17,613 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:11:17,614 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-28 15:11:17,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:11:17,614 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-28 15:11:17,662 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-28 15:11:17,662 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 15:11:17,662 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:17,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 15:11:17,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 15:11:17,663 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-28 15:11:19,835 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-28 15:11:28,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:28,033 INFO L93 Difference]: Finished difference Result 448 states and 589 transitions. [2022-04-28 15:11:28,033 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 15:11:28,033 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-28 15:11:28,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:11:28,033 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-28 15:11:28,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 537 transitions. [2022-04-28 15:11:28,036 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-28 15:11:28,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 537 transitions. [2022-04-28 15:11:28,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 537 transitions. [2022-04-28 15:11:28,686 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-28 15:11:28,696 INFO L225 Difference]: With dead ends: 448 [2022-04-28 15:11:28,696 INFO L226 Difference]: Without dead ends: 440 [2022-04-28 15:11:28,696 INFO L412 NwaCegarLoop]: 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-28 15:11:28,697 INFO L413 NwaCegarLoop]: 335 mSDtfsCounter, 1488 mSDsluCounter, 272 mSDsCounter, 0 mSdLazyCounter, 889 mSolverCounterSat, 489 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1497 SdHoareTripleChecker+Valid, 607 SdHoareTripleChecker+Invalid, 1379 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 489 IncrementalHoareTripleChecker+Valid, 889 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.9s IncrementalHoareTripleChecker+Time [2022-04-28 15:11:28,697 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1497 Valid, 607 Invalid, 1379 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [489 Valid, 889 Invalid, 1 Unknown, 0 Unchecked, 4.9s Time] [2022-04-28 15:11:28,698 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 440 states. [2022-04-28 15:11:29,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 440 to 415. [2022-04-28 15:11:29,087 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:11:29,088 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-28 15:11:29,089 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-28 15:11:29,089 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-28 15:11:29,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:29,097 INFO L93 Difference]: Finished difference Result 440 states and 580 transitions. [2022-04-28 15:11:29,097 INFO L276 IsEmpty]: Start isEmpty. Operand 440 states and 580 transitions. [2022-04-28 15:11:29,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:29,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:29,099 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-28 15:11:29,100 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-28 15:11:29,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:29,107 INFO L93 Difference]: Finished difference Result 440 states and 580 transitions. [2022-04-28 15:11:29,107 INFO L276 IsEmpty]: Start isEmpty. Operand 440 states and 580 transitions. [2022-04-28 15:11:29,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:29,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:29,108 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:11:29,108 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:11:29,109 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-28 15:11:29,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 549 transitions. [2022-04-28 15:11:29,118 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 549 transitions. Word has length 61 [2022-04-28 15:11:29,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:11:29,118 INFO L495 AbstractCegarLoop]: Abstraction has 415 states and 549 transitions. [2022-04-28 15:11:29,119 INFO L496 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-28 15:11:29,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 549 transitions. [2022-04-28 15:11:29,865 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-28 15:11:29,865 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 549 transitions. [2022-04-28 15:11:29,866 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 15:11:29,866 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:11:29,866 INFO L195 NwaCegarLoop]: 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-28 15:11:29,866 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-04-28 15:11:29,867 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:11:29,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:11:29,867 INFO L85 PathProgramCache]: Analyzing trace with hash 1325055407, now seen corresponding path program 1 times [2022-04-28 15:11:29,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:29,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1248804678] [2022-04-28 15:11:29,867 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:11:29,867 INFO L85 PathProgramCache]: Analyzing trace with hash 1325055407, now seen corresponding path program 2 times [2022-04-28 15:11:29,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:11:29,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1483744679] [2022-04-28 15:11:29,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:11:29,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:11:29,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:29,993 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:11:29,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:30,000 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-28 15:11:30,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,001 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21104#true} {21104#true} #1270#return; {21104#true} is VALID [2022-04-28 15:11:30,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:11:30,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:30,031 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-28 15:11:30,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} assume true; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-28 15:11:30,031 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-28 15:11:30,038 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:11:30,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:30,068 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:30,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:30,105 INFO L290 TraceCheckUtils]: 0: Hoare triple {21104#true} ~cond := #in~cond; {21104#true} is VALID [2022-04-28 15:11:30,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {21104#true} assume !(0 == ~cond); {21104#true} is VALID [2022-04-28 15:11:30,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21104#true} {21104#true} #1254#return; {21104#true} is VALID [2022-04-28 15:11:30,105 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-28 15:11:30,105 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-28 15:11:30,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} ~cond := #in~cond; {21104#true} is VALID [2022-04-28 15:11:30,105 INFO L290 TraceCheckUtils]: 3: Hoare triple {21104#true} assume !(0 == ~cond); {21104#true} is VALID [2022-04-28 15:11:30,105 INFO L290 TraceCheckUtils]: 4: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,106 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {21104#true} {21104#true} #1254#return; {21104#true} is VALID [2022-04-28 15:11:30,106 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-28 15:11:30,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,112 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-28 15:11:30,122 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:11:30,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:30,133 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:30,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:30,140 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-28 15:11:30,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {21104#true} assume !(0 == ~__BLAST_NONDET~5); {21104#true} is VALID [2022-04-28 15:11:30,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} #res := -1073741823; {21104#true} is VALID [2022-04-28 15:11:30,140 INFO L290 TraceCheckUtils]: 3: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,141 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {21104#true} {21104#true} #1176#return; {21104#true} is VALID [2022-04-28 15:11:30,141 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-28 15:11:30,142 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-28 15:11:30,142 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-28 15:11:30,142 INFO L290 TraceCheckUtils]: 3: Hoare triple {21104#true} assume !(0 == ~__BLAST_NONDET~5); {21104#true} is VALID [2022-04-28 15:11:30,142 INFO L290 TraceCheckUtils]: 4: Hoare triple {21104#true} #res := -1073741823; {21104#true} is VALID [2022-04-28 15:11:30,142 INFO L290 TraceCheckUtils]: 5: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,142 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {21104#true} {21104#true} #1176#return; {21104#true} is VALID [2022-04-28 15:11:30,142 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-28 15:11:30,142 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-28 15:11:30,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,143 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-28 15:11:30,154 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:11:30,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:30,170 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-28 15:11:30,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {21155#(= ~s~0 ~NP~0)} assume true; {21155#(= ~s~0 ~NP~0)} is VALID [2022-04-28 15:11:30,171 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-28 15:11:30,171 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-28 15:11:30,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:30,178 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-28 15:11:30,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {21104#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {21104#true} is VALID [2022-04-28 15:11:30,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,179 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-28 15:11:30,180 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-28 15:11:30,180 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-28 15:11:30,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21104#true} {21104#true} #1270#return; {21104#true} is VALID [2022-04-28 15:11:30,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {21104#true} call #t~ret213 := main(); {21104#true} is VALID [2022-04-28 15:11:30,180 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-28 15:11:30,181 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-28 15:11:30,182 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-28 15:11:30,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} assume true; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-28 15:11:30,182 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-28 15:11:30,183 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-28 15:11:30,183 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-28 15:11:30,183 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-28 15:11:30,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {21104#true} ~cond := #in~cond; {21104#true} is VALID [2022-04-28 15:11:30,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {21104#true} assume !(0 == ~cond); {21104#true} is VALID [2022-04-28 15:11:30,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,183 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21104#true} {21104#true} #1254#return; {21104#true} is VALID [2022-04-28 15:11:30,183 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-28 15:11:30,183 INFO L290 TraceCheckUtils]: 18: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,184 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-28 15:11:30,184 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-28 15:11:30,184 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-28 15:11:30,185 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-28 15:11:30,185 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-28 15:11:30,185 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-28 15:11:30,186 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-28 15:11:30,186 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-28 15:11:30,186 INFO L290 TraceCheckUtils]: 27: Hoare triple {21104#true} assume !(0 == ~__BLAST_NONDET~5); {21104#true} is VALID [2022-04-28 15:11:30,186 INFO L290 TraceCheckUtils]: 28: Hoare triple {21104#true} #res := -1073741823; {21104#true} is VALID [2022-04-28 15:11:30,186 INFO L290 TraceCheckUtils]: 29: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,186 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {21104#true} {21104#true} #1176#return; {21104#true} is VALID [2022-04-28 15:11:30,187 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-28 15:11:30,187 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-28 15:11:30,187 INFO L290 TraceCheckUtils]: 33: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,187 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-28 15:11:30,187 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-28 15:11:30,188 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-28 15:11:30,188 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-28 15:11:30,189 INFO L290 TraceCheckUtils]: 38: Hoare triple {21155#(= ~s~0 ~NP~0)} assume true; {21155#(= ~s~0 ~NP~0)} is VALID [2022-04-28 15:11:30,189 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-28 15:11:30,189 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-28 15:11:30,189 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-28 15:11:30,190 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-28 15:11:30,190 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-28 15:11:30,190 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-28 15:11:30,190 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-28 15:11:30,190 INFO L290 TraceCheckUtils]: 46: Hoare triple {21104#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {21104#true} is VALID [2022-04-28 15:11:30,190 INFO L290 TraceCheckUtils]: 47: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-28 15:11:30,191 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-28 15:11:30,191 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-28 15:11:30,191 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-28 15:11:30,191 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-28 15:11:30,192 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-28 15:11:30,192 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-28 15:11:30,192 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-28 15:11:30,192 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-28 15:11:30,193 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-28 15:11:30,193 INFO L290 TraceCheckUtils]: 57: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !(~s~0 != ~DC~0); {21105#false} is VALID [2022-04-28 15:11:30,193 INFO L290 TraceCheckUtils]: 58: Hoare triple {21105#false} assume 1 == ~pended~0; {21105#false} is VALID [2022-04-28 15:11:30,193 INFO L290 TraceCheckUtils]: 59: Hoare triple {21105#false} assume 259 != ~status~5; {21105#false} is VALID [2022-04-28 15:11:30,193 INFO L272 TraceCheckUtils]: 60: Hoare triple {21105#false} call errorFn(); {21105#false} is VALID [2022-04-28 15:11:30,193 INFO L290 TraceCheckUtils]: 61: Hoare triple {21105#false} assume !false; {21105#false} is VALID [2022-04-28 15:11:30,193 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-28 15:11:30,194 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:11:30,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1483744679] [2022-04-28 15:11:30,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1483744679] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:30,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:30,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:11:30,194 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:11:30,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1248804678] [2022-04-28 15:11:30,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1248804678] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:30,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:30,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:11:30,194 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [285951444] [2022-04-28 15:11:30,194 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:11:30,195 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-28 15:11:30,195 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:11:30,195 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-28 15:11:30,240 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-28 15:11:30,240 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 15:11:30,240 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:30,241 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 15:11:30,241 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 15:11:30,241 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-28 15:11:32,404 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-28 15:11:40,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:40,210 INFO L93 Difference]: Finished difference Result 442 states and 581 transitions. [2022-04-28 15:11:40,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 15:11:40,210 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-28 15:11:40,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:11:40,210 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-28 15:11:40,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 529 transitions. [2022-04-28 15:11:40,214 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-28 15:11:40,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 529 transitions. [2022-04-28 15:11:40,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 529 transitions. [2022-04-28 15:11:40,805 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-28 15:11:40,813 INFO L225 Difference]: With dead ends: 442 [2022-04-28 15:11:40,813 INFO L226 Difference]: Without dead ends: 389 [2022-04-28 15:11:40,813 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=181, Invalid=469, Unknown=0, NotChecked=0, Total=650 [2022-04-28 15:11:40,814 INFO L413 NwaCegarLoop]: 335 mSDtfsCounter, 1390 mSDsluCounter, 273 mSDsCounter, 0 mSdLazyCounter, 872 mSolverCounterSat, 452 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1398 SdHoareTripleChecker+Valid, 608 SdHoareTripleChecker+Invalid, 1325 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 452 IncrementalHoareTripleChecker+Valid, 872 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.4s IncrementalHoareTripleChecker+Time [2022-04-28 15:11:40,814 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1398 Valid, 608 Invalid, 1325 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [452 Valid, 872 Invalid, 1 Unknown, 0 Unchecked, 5.4s Time] [2022-04-28 15:11:40,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 389 states. [2022-04-28 15:11:41,160 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 389 to 371. [2022-04-28 15:11:41,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:11:41,161 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-28 15:11:41,161 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-28 15:11:41,162 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-28 15:11:41,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:41,168 INFO L93 Difference]: Finished difference Result 389 states and 516 transitions. [2022-04-28 15:11:41,168 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 516 transitions. [2022-04-28 15:11:41,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:41,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:41,169 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-28 15:11:41,169 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-28 15:11:41,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:41,176 INFO L93 Difference]: Finished difference Result 389 states and 516 transitions. [2022-04-28 15:11:41,177 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 516 transitions. [2022-04-28 15:11:41,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:41,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:41,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:11:41,177 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:11:41,178 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-28 15:11:41,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 371 states to 371 states and 493 transitions. [2022-04-28 15:11:41,186 INFO L78 Accepts]: Start accepts. Automaton has 371 states and 493 transitions. Word has length 62 [2022-04-28 15:11:41,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:11:41,186 INFO L495 AbstractCegarLoop]: Abstraction has 371 states and 493 transitions. [2022-04-28 15:11:41,186 INFO L496 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-28 15:11:41,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 371 states and 493 transitions. [2022-04-28 15:11:41,876 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-28 15:11:41,876 INFO L276 IsEmpty]: Start isEmpty. Operand 371 states and 493 transitions. [2022-04-28 15:11:41,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-28 15:11:41,877 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:11:41,877 INFO L195 NwaCegarLoop]: 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-28 15:11:41,877 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-04-28 15:11:41,877 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:11:41,877 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:11:41,877 INFO L85 PathProgramCache]: Analyzing trace with hash 1052170321, now seen corresponding path program 1 times [2022-04-28 15:11:41,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:41,878 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2132573735] [2022-04-28 15:11:41,878 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:11:41,878 INFO L85 PathProgramCache]: Analyzing trace with hash 1052170321, now seen corresponding path program 2 times [2022-04-28 15:11:41,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:11:41,878 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1638088761] [2022-04-28 15:11:41,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:11:41,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:11:41,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,071 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:11:42,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,078 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-28 15:11:42,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,078 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23598#true} {23598#true} #1270#return; {23598#true} is VALID [2022-04-28 15:11:42,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:11:42,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,120 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-28 15:11:42,121 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-28 15:11:42,121 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-28 15:11:42,129 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:11:42,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,146 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:42,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {23598#true} ~cond := #in~cond; {23598#true} is VALID [2022-04-28 15:11:42,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume !(0 == ~cond); {23598#true} is VALID [2022-04-28 15:11:42,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,153 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23598#true} {23598#true} #1254#return; {23598#true} is VALID [2022-04-28 15:11:42,153 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-28 15:11:42,153 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-28 15:11:42,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} ~cond := #in~cond; {23598#true} is VALID [2022-04-28 15:11:42,153 INFO L290 TraceCheckUtils]: 3: Hoare triple {23598#true} assume !(0 == ~cond); {23598#true} is VALID [2022-04-28 15:11:42,153 INFO L290 TraceCheckUtils]: 4: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,153 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {23598#true} {23598#true} #1254#return; {23598#true} is VALID [2022-04-28 15:11:42,153 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-28 15:11:42,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,154 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-28 15:11:42,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:11:42,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:42,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,182 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-28 15:11:42,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume !(0 == ~__BLAST_NONDET~5); {23598#true} is VALID [2022-04-28 15:11:42,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} #res := -1073741823; {23598#true} is VALID [2022-04-28 15:11:42,183 INFO L290 TraceCheckUtils]: 3: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,183 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {23598#true} {23598#true} #1176#return; {23598#true} is VALID [2022-04-28 15:11:42,183 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-28 15:11:42,184 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-28 15:11:42,184 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-28 15:11:42,184 INFO L290 TraceCheckUtils]: 3: Hoare triple {23598#true} assume !(0 == ~__BLAST_NONDET~5); {23598#true} is VALID [2022-04-28 15:11:42,184 INFO L290 TraceCheckUtils]: 4: Hoare triple {23598#true} #res := -1073741823; {23598#true} is VALID [2022-04-28 15:11:42,185 INFO L290 TraceCheckUtils]: 5: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,185 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {23598#true} {23598#true} #1176#return; {23598#true} is VALID [2022-04-28 15:11:42,185 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-28 15:11:42,185 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-28 15:11:42,185 INFO L290 TraceCheckUtils]: 9: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,186 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-28 15:11:42,200 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:11:42,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,209 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-28 15:11:42,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,210 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-28 15:11:42,223 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-28 15:11:42,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,288 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:11:42,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:42,328 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-28 15:11:42,329 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-28 15:11:42,329 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-28 15:11:42,330 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-28 15:11:42,330 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-28 15:11:42,330 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-28 15:11:42,330 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-28 15:11:42,330 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-28 15:11:42,330 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-28 15:11:42,331 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-28 15:11:42,331 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-28 15:11:42,331 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-28 15:11:42,331 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-28 15:11:42,332 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-28 15:11:42,332 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-28 15:11:42,333 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-28 15:11:42,334 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-28 15:11:42,335 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-28 15:11:42,335 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-28 15:11:42,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,335 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23598#true} {23598#true} #1270#return; {23598#true} is VALID [2022-04-28 15:11:42,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {23598#true} call #t~ret213 := main(); {23598#true} is VALID [2022-04-28 15:11:42,335 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-28 15:11:42,336 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-28 15:11:42,336 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-28 15:11:42,337 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-28 15:11:42,337 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-28 15:11:42,338 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-28 15:11:42,338 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-28 15:11:42,338 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-28 15:11:42,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {23598#true} ~cond := #in~cond; {23598#true} is VALID [2022-04-28 15:11:42,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {23598#true} assume !(0 == ~cond); {23598#true} is VALID [2022-04-28 15:11:42,338 INFO L290 TraceCheckUtils]: 15: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,338 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23598#true} {23598#true} #1254#return; {23598#true} is VALID [2022-04-28 15:11:42,338 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-28 15:11:42,338 INFO L290 TraceCheckUtils]: 18: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,339 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-28 15:11:42,339 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-28 15:11:42,340 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-28 15:11:42,340 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-28 15:11:42,341 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-28 15:11:42,341 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-28 15:11:42,342 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-28 15:11:42,342 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-28 15:11:42,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {23598#true} assume !(0 == ~__BLAST_NONDET~5); {23598#true} is VALID [2022-04-28 15:11:42,342 INFO L290 TraceCheckUtils]: 28: Hoare triple {23598#true} #res := -1073741823; {23598#true} is VALID [2022-04-28 15:11:42,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,343 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {23598#true} {23598#true} #1176#return; {23598#true} is VALID [2022-04-28 15:11:42,343 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-28 15:11:42,343 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-28 15:11:42,343 INFO L290 TraceCheckUtils]: 33: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,343 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-28 15:11:42,344 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-28 15:11:42,344 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-28 15:11:42,344 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-28 15:11:42,345 INFO L290 TraceCheckUtils]: 38: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-28 15:11:42,345 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-28 15:11:42,345 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-28 15:11:42,345 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-28 15:11:42,346 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-28 15:11:42,346 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-28 15:11:42,346 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-28 15:11:42,347 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-28 15:11:42,347 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-28 15:11:42,348 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-28 15:11:42,348 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-28 15:11:42,348 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-28 15:11:42,348 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-28 15:11:42,348 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-28 15:11:42,348 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-28 15:11:42,349 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-28 15:11:42,349 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-28 15:11:42,349 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-28 15:11:42,349 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-28 15:11:42,350 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-28 15:11:42,350 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-28 15:11:42,351 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-28 15:11:42,352 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-28 15:11:42,352 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-28 15:11:42,352 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-28 15:11:42,353 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-28 15:11:42,353 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-28 15:11:42,353 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-28 15:11:42,354 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-28 15:11:42,354 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-28 15:11:42,354 INFO L290 TraceCheckUtils]: 68: Hoare triple {23599#false} assume 1 == ~pended~0; {23599#false} is VALID [2022-04-28 15:11:42,354 INFO L290 TraceCheckUtils]: 69: Hoare triple {23599#false} assume 259 != ~status~5; {23599#false} is VALID [2022-04-28 15:11:42,354 INFO L272 TraceCheckUtils]: 70: Hoare triple {23599#false} call errorFn(); {23599#false} is VALID [2022-04-28 15:11:42,354 INFO L290 TraceCheckUtils]: 71: Hoare triple {23599#false} assume !false; {23599#false} is VALID [2022-04-28 15:11:42,354 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-28 15:11:42,355 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:11:42,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1638088761] [2022-04-28 15:11:42,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1638088761] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:42,355 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:42,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:11:42,355 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:11:42,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2132573735] [2022-04-28 15:11:42,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2132573735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:42,355 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:42,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:11:42,355 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [803232054] [2022-04-28 15:11:42,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:11:42,356 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-28 15:11:42,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:11:42,356 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-28 15:11:42,411 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-28 15:11:42,412 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 15:11:42,412 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:42,412 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 15:11:42,412 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:11:42,412 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-28 15:11:44,604 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-28 15:11:52,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:52,610 INFO L93 Difference]: Finished difference Result 417 states and 550 transitions. [2022-04-28 15:11:52,610 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 15:11:52,610 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-28 15:11:52,610 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:11:52,610 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-28 15:11:52,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 457 transitions. [2022-04-28 15:11:52,615 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-28 15:11:52,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 457 transitions. [2022-04-28 15:11:52,618 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 457 transitions. [2022-04-28 15:11:53,185 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-28 15:11:53,194 INFO L225 Difference]: With dead ends: 417 [2022-04-28 15:11:53,194 INFO L226 Difference]: Without dead ends: 409 [2022-04-28 15:11:53,194 INFO L412 NwaCegarLoop]: 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-28 15:11:53,195 INFO L413 NwaCegarLoop]: 276 mSDtfsCounter, 990 mSDsluCounter, 328 mSDsCounter, 0 mSdLazyCounter, 1621 mSolverCounterSat, 326 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.2s 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, 5.2s IncrementalHoareTripleChecker+Time [2022-04-28 15:11:53,196 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1002 Valid, 604 Invalid, 1948 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [326 Valid, 1621 Invalid, 1 Unknown, 0 Unchecked, 5.2s Time] [2022-04-28 15:11:53,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 409 states. [2022-04-28 15:11:53,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 409 to 386. [2022-04-28 15:11:53,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:11:53,559 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-28 15:11:53,560 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-28 15:11:53,560 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-28 15:11:53,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:53,567 INFO L93 Difference]: Finished difference Result 409 states and 541 transitions. [2022-04-28 15:11:53,567 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 541 transitions. [2022-04-28 15:11:53,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:53,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:53,585 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-28 15:11:53,585 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-28 15:11:53,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:11:53,592 INFO L93 Difference]: Finished difference Result 409 states and 541 transitions. [2022-04-28 15:11:53,592 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 541 transitions. [2022-04-28 15:11:53,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:11:53,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:11:53,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:11:53,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:11:53,593 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-28 15:11:53,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 386 states to 386 states and 511 transitions. [2022-04-28 15:11:53,601 INFO L78 Accepts]: Start accepts. Automaton has 386 states and 511 transitions. Word has length 72 [2022-04-28 15:11:53,601 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:11:53,601 INFO L495 AbstractCegarLoop]: Abstraction has 386 states and 511 transitions. [2022-04-28 15:11:53,601 INFO L496 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-28 15:11:53,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 386 states and 511 transitions. [2022-04-28 15:11:54,333 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-28 15:11:54,333 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 511 transitions. [2022-04-28 15:11:54,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 15:11:54,334 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:11:54,334 INFO L195 NwaCegarLoop]: 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-28 15:11:54,334 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-28 15:11:54,335 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:11:54,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:11:54,335 INFO L85 PathProgramCache]: Analyzing trace with hash 2144673722, now seen corresponding path program 1 times [2022-04-28 15:11:54,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:54,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1945584366] [2022-04-28 15:11:54,335 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:11:54,335 INFO L85 PathProgramCache]: Analyzing trace with hash 2144673722, now seen corresponding path program 2 times [2022-04-28 15:11:54,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:11:54,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1916301720] [2022-04-28 15:11:54,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:11:54,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:11:54,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:11:54,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,545 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-28 15:11:54,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,545 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26126#true} {26126#true} #1270#return; {26126#true} is VALID [2022-04-28 15:11:54,572 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:11:54,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,591 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-28 15:11:54,591 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-28 15:11:54,592 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-28 15:11:54,600 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:11:54,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,621 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:54,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,627 INFO L290 TraceCheckUtils]: 0: Hoare triple {26126#true} ~cond := #in~cond; {26126#true} is VALID [2022-04-28 15:11:54,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume !(0 == ~cond); {26126#true} is VALID [2022-04-28 15:11:54,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26126#true} {26126#true} #1254#return; {26126#true} is VALID [2022-04-28 15:11:54,627 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-28 15:11:54,627 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-28 15:11:54,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} ~cond := #in~cond; {26126#true} is VALID [2022-04-28 15:11:54,627 INFO L290 TraceCheckUtils]: 3: Hoare triple {26126#true} assume !(0 == ~cond); {26126#true} is VALID [2022-04-28 15:11:54,627 INFO L290 TraceCheckUtils]: 4: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,627 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {26126#true} {26126#true} #1254#return; {26126#true} is VALID [2022-04-28 15:11:54,627 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-28 15:11:54,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,628 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-28 15:11:54,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:11:54,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,651 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:11:54,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,659 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-28 15:11:54,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume !(0 == ~__BLAST_NONDET~5); {26126#true} is VALID [2022-04-28 15:11:54,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} #res := -1073741823; {26126#true} is VALID [2022-04-28 15:11:54,659 INFO L290 TraceCheckUtils]: 3: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,659 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {26126#true} {26126#true} #1176#return; {26126#true} is VALID [2022-04-28 15:11:54,659 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-28 15:11:54,661 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-28 15:11:54,661 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-28 15:11:54,661 INFO L290 TraceCheckUtils]: 3: Hoare triple {26126#true} assume !(0 == ~__BLAST_NONDET~5); {26126#true} is VALID [2022-04-28 15:11:54,661 INFO L290 TraceCheckUtils]: 4: Hoare triple {26126#true} #res := -1073741823; {26126#true} is VALID [2022-04-28 15:11:54,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,661 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {26126#true} {26126#true} #1176#return; {26126#true} is VALID [2022-04-28 15:11:54,661 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-28 15:11:54,661 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-28 15:11:54,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,662 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-28 15:11:54,676 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:11:54,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,685 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-28 15:11:54,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,686 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-28 15:11:54,700 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-28 15:11:54,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,753 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:11:54,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:11:54,778 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-28 15:11:54,778 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-28 15:11:54,779 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-28 15:11:54,780 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-28 15:11:54,780 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-28 15:11:54,780 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-28 15:11:54,780 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-28 15:11:54,780 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-28 15:11:54,780 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-28 15:11:54,781 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-28 15:11:54,781 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-28 15:11:54,781 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-28 15:11:54,781 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-28 15:11:54,782 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-28 15:11:54,783 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-28 15:11:54,783 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-28 15:11:54,784 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-28 15:11:54,785 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-28 15:11:54,786 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-28 15:11:54,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26126#true} {26126#true} #1270#return; {26126#true} is VALID [2022-04-28 15:11:54,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {26126#true} call #t~ret213 := main(); {26126#true} is VALID [2022-04-28 15:11:54,786 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-28 15:11:54,787 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-28 15:11:54,787 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-28 15:11:54,788 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-28 15:11:54,788 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-28 15:11:54,789 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-28 15:11:54,789 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-28 15:11:54,789 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-28 15:11:54,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {26126#true} ~cond := #in~cond; {26126#true} is VALID [2022-04-28 15:11:54,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {26126#true} assume !(0 == ~cond); {26126#true} is VALID [2022-04-28 15:11:54,789 INFO L290 TraceCheckUtils]: 15: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,789 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {26126#true} {26126#true} #1254#return; {26126#true} is VALID [2022-04-28 15:11:54,789 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-28 15:11:54,790 INFO L290 TraceCheckUtils]: 18: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,790 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-28 15:11:54,791 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-28 15:11:54,791 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-28 15:11:54,792 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-28 15:11:54,792 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-28 15:11:54,793 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-28 15:11:54,794 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-28 15:11:54,794 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-28 15:11:54,794 INFO L290 TraceCheckUtils]: 27: Hoare triple {26126#true} assume !(0 == ~__BLAST_NONDET~5); {26126#true} is VALID [2022-04-28 15:11:54,794 INFO L290 TraceCheckUtils]: 28: Hoare triple {26126#true} #res := -1073741823; {26126#true} is VALID [2022-04-28 15:11:54,794 INFO L290 TraceCheckUtils]: 29: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,794 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {26126#true} {26126#true} #1176#return; {26126#true} is VALID [2022-04-28 15:11:54,794 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-28 15:11:54,794 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-28 15:11:54,794 INFO L290 TraceCheckUtils]: 33: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,795 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-28 15:11:54,795 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-28 15:11:54,796 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-28 15:11:54,796 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-28 15:11:54,796 INFO L290 TraceCheckUtils]: 38: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-28 15:11:54,796 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-28 15:11:54,797 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-28 15:11:54,797 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-28 15:11:54,797 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-28 15:11:54,798 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-28 15:11:54,798 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-28 15:11:54,798 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-28 15:11:54,799 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-28 15:11:54,800 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-28 15:11:54,800 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-28 15:11:54,800 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-28 15:11:54,800 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-28 15:11:54,800 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-28 15:11:54,800 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-28 15:11:54,800 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-28 15:11:54,801 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-28 15:11:54,801 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-28 15:11:54,801 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-28 15:11:54,802 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-28 15:11:54,802 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-28 15:11:54,803 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-28 15:11:54,804 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-28 15:11:54,804 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-28 15:11:54,804 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-28 15:11:54,805 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-28 15:11:54,805 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-28 15:11:54,805 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-28 15:11:54,806 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-28 15:11:54,806 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-28 15:11:54,806 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-28 15:11:54,806 INFO L290 TraceCheckUtils]: 69: Hoare triple {26127#false} assume 1 == ~pended~0; {26127#false} is VALID [2022-04-28 15:11:54,806 INFO L290 TraceCheckUtils]: 70: Hoare triple {26127#false} assume 259 != ~status~5; {26127#false} is VALID [2022-04-28 15:11:54,806 INFO L272 TraceCheckUtils]: 71: Hoare triple {26127#false} call errorFn(); {26127#false} is VALID [2022-04-28 15:11:54,806 INFO L290 TraceCheckUtils]: 72: Hoare triple {26127#false} assume !false; {26127#false} is VALID [2022-04-28 15:11:54,807 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-28 15:11:54,807 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:11:54,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1916301720] [2022-04-28 15:11:54,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1916301720] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:54,807 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:54,807 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:11:54,807 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:11:54,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1945584366] [2022-04-28 15:11:54,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1945584366] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:11:54,807 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:11:54,808 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:11:54,808 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1990601605] [2022-04-28 15:11:54,808 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:11:54,808 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-28 15:11:54,808 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:11:54,808 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-28 15:11:54,871 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-28 15:11:54,871 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 15:11:54,871 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:11:54,871 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 15:11:54,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:11:54,872 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-28 15:11:57,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-28 15:12:07,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:07,137 INFO L93 Difference]: Finished difference Result 417 states and 549 transitions. [2022-04-28 15:12:07,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 15:12:07,137 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-28 15:12:07,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:12:07,138 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-28 15:12:07,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 456 transitions. [2022-04-28 15:12:07,140 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-28 15:12:07,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 456 transitions. [2022-04-28 15:12:07,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 456 transitions. [2022-04-28 15:12:07,658 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-28 15:12:07,667 INFO L225 Difference]: With dead ends: 417 [2022-04-28 15:12:07,667 INFO L226 Difference]: Without dead ends: 409 [2022-04-28 15:12:07,668 INFO L412 NwaCegarLoop]: 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-28 15:12:07,668 INFO L413 NwaCegarLoop]: 278 mSDtfsCounter, 1251 mSDsluCounter, 303 mSDsCounter, 0 mSdLazyCounter, 1437 mSolverCounterSat, 410 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.4s 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, 6.4s IncrementalHoareTripleChecker+Time [2022-04-28 15:12:07,668 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1263 Valid, 581 Invalid, 1848 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [410 Valid, 1437 Invalid, 1 Unknown, 0 Unchecked, 6.4s Time] [2022-04-28 15:12:07,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 409 states. [2022-04-28 15:12:08,031 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 409 to 387. [2022-04-28 15:12:08,031 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:12:08,032 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-28 15:12:08,032 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-28 15:12:08,033 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-28 15:12:08,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:08,039 INFO L93 Difference]: Finished difference Result 409 states and 540 transitions. [2022-04-28 15:12:08,039 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 540 transitions. [2022-04-28 15:12:08,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:12:08,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:12:08,040 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-28 15:12:08,041 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-28 15:12:08,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:08,047 INFO L93 Difference]: Finished difference Result 409 states and 540 transitions. [2022-04-28 15:12:08,048 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 540 transitions. [2022-04-28 15:12:08,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:12:08,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:12:08,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:12:08,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:12:08,049 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-28 15:12:08,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 387 states to 387 states and 512 transitions. [2022-04-28 15:12:08,057 INFO L78 Accepts]: Start accepts. Automaton has 387 states and 512 transitions. Word has length 73 [2022-04-28 15:12:08,057 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:12:08,057 INFO L495 AbstractCegarLoop]: Abstraction has 387 states and 512 transitions. [2022-04-28 15:12:08,057 INFO L496 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-28 15:12:08,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 387 states and 512 transitions. [2022-04-28 15:12:08,799 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-28 15:12:08,799 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 512 transitions. [2022-04-28 15:12:08,800 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 15:12:08,800 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:12:08,800 INFO L195 NwaCegarLoop]: 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-28 15:12:08,800 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-04-28 15:12:08,800 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:12:08,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:12:08,800 INFO L85 PathProgramCache]: Analyzing trace with hash 1821545128, now seen corresponding path program 1 times [2022-04-28 15:12:08,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:12:08,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [826292353] [2022-04-28 15:12:08,801 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:12:08,801 INFO L85 PathProgramCache]: Analyzing trace with hash 1821545128, now seen corresponding path program 2 times [2022-04-28 15:12:08,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:12:08,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1352720238] [2022-04-28 15:12:08,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:12:08,802 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:12:08,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:08,913 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:12:08,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:08,921 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-28 15:12:08,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:08,921 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28656#true} {28656#true} #1270#return; {28656#true} is VALID [2022-04-28 15:12:08,941 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:12:08,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:08,952 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-28 15:12:08,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:08,952 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28656#true} {28656#true} #1216#return; {28656#true} is VALID [2022-04-28 15:12:08,958 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:12:08,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:08,972 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:12:08,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:08,977 INFO L290 TraceCheckUtils]: 0: Hoare triple {28656#true} ~cond := #in~cond; {28656#true} is VALID [2022-04-28 15:12:08,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume !(0 == ~cond); {28656#true} is VALID [2022-04-28 15:12:08,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:08,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28656#true} {28656#true} #1254#return; {28656#true} is VALID [2022-04-28 15:12:08,977 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-28 15:12:08,977 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-28 15:12:08,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} ~cond := #in~cond; {28656#true} is VALID [2022-04-28 15:12:08,978 INFO L290 TraceCheckUtils]: 3: Hoare triple {28656#true} assume !(0 == ~cond); {28656#true} is VALID [2022-04-28 15:12:08,978 INFO L290 TraceCheckUtils]: 4: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:08,978 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {28656#true} {28656#true} #1254#return; {28656#true} is VALID [2022-04-28 15:12:08,978 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-28 15:12:08,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:08,978 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {28656#true} {28656#true} #1218#return; {28656#true} is VALID [2022-04-28 15:12:08,986 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:12:08,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:08,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:12:08,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:09,002 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-28 15:12:09,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume !(0 == ~__BLAST_NONDET~5); {28656#true} is VALID [2022-04-28 15:12:09,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} #res := -1073741823; {28656#true} is VALID [2022-04-28 15:12:09,002 INFO L290 TraceCheckUtils]: 3: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,002 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {28656#true} {28656#true} #1176#return; {28656#true} is VALID [2022-04-28 15:12:09,002 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-28 15:12:09,003 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-28 15:12:09,004 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-28 15:12:09,004 INFO L290 TraceCheckUtils]: 3: Hoare triple {28656#true} assume !(0 == ~__BLAST_NONDET~5); {28656#true} is VALID [2022-04-28 15:12:09,004 INFO L290 TraceCheckUtils]: 4: Hoare triple {28656#true} #res := -1073741823; {28656#true} is VALID [2022-04-28 15:12:09,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,004 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {28656#true} {28656#true} #1176#return; {28656#true} is VALID [2022-04-28 15:12:09,004 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-28 15:12:09,004 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-28 15:12:09,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,004 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28656#true} {28656#true} #1220#return; {28656#true} is VALID [2022-04-28 15:12:09,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:12:09,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:09,022 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-28 15:12:09,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,022 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28656#true} {28656#true} #1222#return; {28656#true} is VALID [2022-04-28 15:12:09,033 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-28 15:12:09,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:09,048 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:12:09,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:09,053 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-28 15:12:09,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28656#true} is VALID [2022-04-28 15:12:09,053 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,053 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28656#true} {28656#true} #1248#return; {28656#true} is VALID [2022-04-28 15:12:09,053 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-28 15:12:09,053 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-28 15:12:09,054 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-28 15:12:09,054 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-28 15:12:09,054 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-28 15:12:09,054 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-28 15:12:09,054 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-28 15:12:09,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {28656#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28656#true} is VALID [2022-04-28 15:12:09,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,054 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {28656#true} {28656#true} #1248#return; {28656#true} is VALID [2022-04-28 15:12:09,055 INFO L290 TraceCheckUtils]: 10: Hoare triple {28656#true} #res := ~status~2; {28656#true} is VALID [2022-04-28 15:12:09,055 INFO L290 TraceCheckUtils]: 11: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,055 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {28656#true} {28656#true} #1234#return; {28656#true} is VALID [2022-04-28 15:12:09,056 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-28 15:12:09,056 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-28 15:12:09,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28656#true} {28656#true} #1270#return; {28656#true} is VALID [2022-04-28 15:12:09,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {28656#true} call #t~ret213 := main(); {28656#true} is VALID [2022-04-28 15:12:09,056 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-28 15:12:09,057 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-28 15:12:09,057 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-28 15:12:09,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,057 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {28656#true} {28656#true} #1216#return; {28656#true} is VALID [2022-04-28 15:12:09,058 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-28 15:12:09,058 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-28 15:12:09,058 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-28 15:12:09,058 INFO L290 TraceCheckUtils]: 13: Hoare triple {28656#true} ~cond := #in~cond; {28656#true} is VALID [2022-04-28 15:12:09,058 INFO L290 TraceCheckUtils]: 14: Hoare triple {28656#true} assume !(0 == ~cond); {28656#true} is VALID [2022-04-28 15:12:09,058 INFO L290 TraceCheckUtils]: 15: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,058 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {28656#true} {28656#true} #1254#return; {28656#true} is VALID [2022-04-28 15:12:09,058 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-28 15:12:09,058 INFO L290 TraceCheckUtils]: 18: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,058 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {28656#true} {28656#true} #1218#return; {28656#true} is VALID [2022-04-28 15:12:09,058 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-28 15:12:09,058 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-28 15:12:09,059 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-28 15:12:09,059 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-28 15:12:09,059 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-28 15:12:09,060 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-28 15:12:09,060 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-28 15:12:09,060 INFO L290 TraceCheckUtils]: 27: Hoare triple {28656#true} assume !(0 == ~__BLAST_NONDET~5); {28656#true} is VALID [2022-04-28 15:12:09,061 INFO L290 TraceCheckUtils]: 28: Hoare triple {28656#true} #res := -1073741823; {28656#true} is VALID [2022-04-28 15:12:09,061 INFO L290 TraceCheckUtils]: 29: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,061 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {28656#true} {28656#true} #1176#return; {28656#true} is VALID [2022-04-28 15:12:09,061 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-28 15:12:09,061 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-28 15:12:09,061 INFO L290 TraceCheckUtils]: 33: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,061 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {28656#true} {28656#true} #1220#return; {28656#true} is VALID [2022-04-28 15:12:09,061 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-28 15:12:09,061 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-28 15:12:09,062 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-28 15:12:09,062 INFO L290 TraceCheckUtils]: 38: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,062 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {28656#true} {28656#true} #1222#return; {28656#true} is VALID [2022-04-28 15:12:09,062 INFO L290 TraceCheckUtils]: 40: Hoare triple {28656#true} assume !!(~status~5 >= 0); {28656#true} is VALID [2022-04-28 15:12:09,062 INFO L290 TraceCheckUtils]: 41: Hoare triple {28656#true} assume !(0 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-28 15:12:09,062 INFO L290 TraceCheckUtils]: 42: Hoare triple {28656#true} assume !(1 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-28 15:12:09,062 INFO L290 TraceCheckUtils]: 43: Hoare triple {28656#true} assume !(2 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-28 15:12:09,062 INFO L290 TraceCheckUtils]: 44: Hoare triple {28656#true} assume !(3 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-28 15:12:09,062 INFO L290 TraceCheckUtils]: 45: Hoare triple {28656#true} assume !(4 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-28 15:12:09,062 INFO L290 TraceCheckUtils]: 46: Hoare triple {28656#true} assume 8 == ~__BLAST_NONDET~0; {28656#true} is VALID [2022-04-28 15:12:09,063 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-28 15:12:09,063 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-28 15:12:09,063 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-28 15:12:09,063 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-28 15:12:09,063 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-28 15:12:09,063 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-28 15:12:09,064 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-28 15:12:09,064 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-28 15:12:09,064 INFO L290 TraceCheckUtils]: 55: Hoare triple {28656#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28656#true} is VALID [2022-04-28 15:12:09,064 INFO L290 TraceCheckUtils]: 56: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,064 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {28656#true} {28656#true} #1248#return; {28656#true} is VALID [2022-04-28 15:12:09,064 INFO L290 TraceCheckUtils]: 58: Hoare triple {28656#true} #res := ~status~2; {28656#true} is VALID [2022-04-28 15:12:09,064 INFO L290 TraceCheckUtils]: 59: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-28 15:12:09,064 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {28656#true} {28656#true} #1234#return; {28656#true} is VALID [2022-04-28 15:12:09,064 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-28 15:12:09,064 INFO L290 TraceCheckUtils]: 62: Hoare triple {28656#true} assume 0 != ~we_should_unload~0; {28656#true} is VALID [2022-04-28 15:12:09,065 INFO L290 TraceCheckUtils]: 63: Hoare triple {28656#true} assume !(1 == ~pended~0); {28700#(not (= ~pended~0 1))} is VALID [2022-04-28 15:12:09,065 INFO L290 TraceCheckUtils]: 64: Hoare triple {28700#(not (= ~pended~0 1))} assume !(1 == ~pended~0); {28700#(not (= ~pended~0 1))} is VALID [2022-04-28 15:12:09,065 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-28 15:12:09,065 INFO L290 TraceCheckUtils]: 66: Hoare triple {28700#(not (= ~pended~0 1))} assume !(-1 == ~status~5); {28700#(not (= ~pended~0 1))} is VALID [2022-04-28 15:12:09,066 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-28 15:12:09,066 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-28 15:12:09,066 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-28 15:12:09,066 INFO L290 TraceCheckUtils]: 70: Hoare triple {28700#(not (= ~pended~0 1))} assume 1 == ~pended~0; {28657#false} is VALID [2022-04-28 15:12:09,066 INFO L290 TraceCheckUtils]: 71: Hoare triple {28657#false} assume 259 != ~status~5; {28657#false} is VALID [2022-04-28 15:12:09,066 INFO L272 TraceCheckUtils]: 72: Hoare triple {28657#false} call errorFn(); {28657#false} is VALID [2022-04-28 15:12:09,067 INFO L290 TraceCheckUtils]: 73: Hoare triple {28657#false} assume !false; {28657#false} is VALID [2022-04-28 15:12:09,067 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-28 15:12:09,067 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:12:09,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1352720238] [2022-04-28 15:12:09,067 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1352720238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:12:09,067 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:12:09,067 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:12:09,067 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:12:09,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [826292353] [2022-04-28 15:12:09,068 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [826292353] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:12:09,068 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:12:09,068 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:12:09,068 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1473260508] [2022-04-28 15:12:09,068 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:12:09,068 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-28 15:12:09,069 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:12:09,069 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-28 15:12:09,135 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-28 15:12:09,135 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 15:12:09,135 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:12:09,135 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 15:12:09,136 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-28 15:12:09,136 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-28 15:12:11,311 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-28 15:12:15,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:15,882 INFO L93 Difference]: Finished difference Result 419 states and 554 transitions. [2022-04-28 15:12:15,882 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 15:12:15,882 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-28 15:12:15,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:12:15,882 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-28 15:12:15,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 436 transitions. [2022-04-28 15:12:15,885 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-28 15:12:15,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 436 transitions. [2022-04-28 15:12:15,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 436 transitions. [2022-04-28 15:12:16,384 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-28 15:12:16,392 INFO L225 Difference]: With dead ends: 419 [2022-04-28 15:12:16,392 INFO L226 Difference]: Without dead ends: 396 [2022-04-28 15:12:16,393 INFO L412 NwaCegarLoop]: 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-28 15:12:16,393 INFO L413 NwaCegarLoop]: 274 mSDtfsCounter, 904 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 550 mSolverCounterSat, 299 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-28 15:12:16,393 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [914 Valid, 387 Invalid, 850 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [299 Valid, 550 Invalid, 1 Unknown, 0 Unchecked, 3.9s Time] [2022-04-28 15:12:16,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 396 states. [2022-04-28 15:12:16,759 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 396 to 381. [2022-04-28 15:12:16,759 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:12:16,775 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-28 15:12:16,776 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-28 15:12:16,776 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-28 15:12:16,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:16,782 INFO L93 Difference]: Finished difference Result 396 states and 522 transitions. [2022-04-28 15:12:16,782 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 522 transitions. [2022-04-28 15:12:16,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:12:16,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:12:16,783 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-28 15:12:16,784 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-28 15:12:16,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:16,790 INFO L93 Difference]: Finished difference Result 396 states and 522 transitions. [2022-04-28 15:12:16,790 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 522 transitions. [2022-04-28 15:12:16,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:12:16,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:12:16,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:12:16,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:12:16,791 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-28 15:12:16,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 381 states to 381 states and 501 transitions. [2022-04-28 15:12:16,798 INFO L78 Accepts]: Start accepts. Automaton has 381 states and 501 transitions. Word has length 74 [2022-04-28 15:12:16,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:12:16,799 INFO L495 AbstractCegarLoop]: Abstraction has 381 states and 501 transitions. [2022-04-28 15:12:16,799 INFO L496 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-28 15:12:16,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 381 states and 501 transitions. [2022-04-28 15:12:17,531 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-28 15:12:17,531 INFO L276 IsEmpty]: Start isEmpty. Operand 381 states and 501 transitions. [2022-04-28 15:12:17,532 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 15:12:17,532 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:12:17,532 INFO L195 NwaCegarLoop]: 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-28 15:12:17,532 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-04-28 15:12:17,533 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:12:17,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:12:17,533 INFO L85 PathProgramCache]: Analyzing trace with hash 937494245, now seen corresponding path program 1 times [2022-04-28 15:12:17,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:12:17,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [944635767] [2022-04-28 15:12:17,533 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:12:17,533 INFO L85 PathProgramCache]: Analyzing trace with hash 937494245, now seen corresponding path program 2 times [2022-04-28 15:12:17,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:12:17,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1085384434] [2022-04-28 15:12:17,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:12:17,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:12:17,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,657 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:12:17,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,666 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-28 15:12:17,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,666 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31138#true} {31138#true} #1270#return; {31138#true} is VALID [2022-04-28 15:12:17,689 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:12:17,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,695 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-28 15:12:17,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,695 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31138#true} {31138#true} #1216#return; {31138#true} is VALID [2022-04-28 15:12:17,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:12:17,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:12:17,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {31138#true} ~cond := #in~cond; {31138#true} is VALID [2022-04-28 15:12:17,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume !(0 == ~cond); {31138#true} is VALID [2022-04-28 15:12:17,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,723 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31138#true} {31138#true} #1254#return; {31138#true} is VALID [2022-04-28 15:12:17,724 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-28 15:12:17,724 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-28 15:12:17,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} ~cond := #in~cond; {31138#true} is VALID [2022-04-28 15:12:17,724 INFO L290 TraceCheckUtils]: 3: Hoare triple {31138#true} assume !(0 == ~cond); {31138#true} is VALID [2022-04-28 15:12:17,724 INFO L290 TraceCheckUtils]: 4: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,724 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {31138#true} {31138#true} #1254#return; {31138#true} is VALID [2022-04-28 15:12:17,724 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-28 15:12:17,724 INFO L290 TraceCheckUtils]: 7: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,724 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {31138#true} {31138#true} #1218#return; {31138#true} is VALID [2022-04-28 15:12:17,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:12:17,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,742 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:12:17,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,750 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-28 15:12:17,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume !(0 == ~__BLAST_NONDET~5); {31138#true} is VALID [2022-04-28 15:12:17,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} #res := -1073741823; {31138#true} is VALID [2022-04-28 15:12:17,751 INFO L290 TraceCheckUtils]: 3: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,751 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {31138#true} {31138#true} #1176#return; {31138#true} is VALID [2022-04-28 15:12:17,751 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-28 15:12:17,752 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-28 15:12:17,752 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-28 15:12:17,752 INFO L290 TraceCheckUtils]: 3: Hoare triple {31138#true} assume !(0 == ~__BLAST_NONDET~5); {31138#true} is VALID [2022-04-28 15:12:17,752 INFO L290 TraceCheckUtils]: 4: Hoare triple {31138#true} #res := -1073741823; {31138#true} is VALID [2022-04-28 15:12:17,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,752 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {31138#true} {31138#true} #1176#return; {31138#true} is VALID [2022-04-28 15:12:17,752 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-28 15:12:17,752 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-28 15:12:17,753 INFO L290 TraceCheckUtils]: 9: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,753 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31138#true} {31138#true} #1220#return; {31138#true} is VALID [2022-04-28 15:12:17,765 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:12:17,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,773 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-28 15:12:17,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,773 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31138#true} {31138#true} #1222#return; {31138#true} is VALID [2022-04-28 15:12:17,773 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-28 15:12:17,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,780 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-28 15:12:17,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {31138#true} is VALID [2022-04-28 15:12:17,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {31138#true} is VALID [2022-04-28 15:12:17,781 INFO L290 TraceCheckUtils]: 3: Hoare triple {31138#true} assume #res.base == dest.base && #res.offset == dest.offset; {31138#true} is VALID [2022-04-28 15:12:17,781 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {31138#true} {31138#true} #1186#return; {31138#true} is VALID [2022-04-28 15:12:17,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-28 15:12:17,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:17,813 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-28 15:12:17,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume !(0 != ~compRegistered~0); {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {31198#(<= ~compRegistered~0 0)} assume 0 == ~__BLAST_NONDET~11; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,814 INFO L290 TraceCheckUtils]: 3: Hoare triple {31198#(<= ~compRegistered~0 0)} ~returnVal2~0 := 0; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,814 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-28 15:12:17,814 INFO L290 TraceCheckUtils]: 5: Hoare triple {31198#(<= ~compRegistered~0 0)} #res := ~returnVal2~0; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,815 INFO L290 TraceCheckUtils]: 6: Hoare triple {31198#(<= ~compRegistered~0 0)} assume true; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,815 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {31198#(<= ~compRegistered~0 0)} {31174#(= ~compRegistered~0 1)} #1192#return; {31139#false} is VALID [2022-04-28 15:12:17,817 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-28 15:12:17,817 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-28 15:12:17,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31138#true} {31138#true} #1270#return; {31138#true} is VALID [2022-04-28 15:12:17,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {31138#true} call #t~ret213 := main(); {31138#true} is VALID [2022-04-28 15:12:17,817 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-28 15:12:17,818 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-28 15:12:17,818 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-28 15:12:17,818 INFO L290 TraceCheckUtils]: 8: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,818 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {31138#true} {31138#true} #1216#return; {31138#true} is VALID [2022-04-28 15:12:17,819 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-28 15:12:17,819 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-28 15:12:17,819 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-28 15:12:17,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {31138#true} ~cond := #in~cond; {31138#true} is VALID [2022-04-28 15:12:17,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {31138#true} assume !(0 == ~cond); {31138#true} is VALID [2022-04-28 15:12:17,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,819 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31138#true} {31138#true} #1254#return; {31138#true} is VALID [2022-04-28 15:12:17,819 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-28 15:12:17,819 INFO L290 TraceCheckUtils]: 18: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,819 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {31138#true} {31138#true} #1218#return; {31138#true} is VALID [2022-04-28 15:12:17,820 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-28 15:12:17,820 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-28 15:12:17,820 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-28 15:12:17,821 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-28 15:12:17,821 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-28 15:12:17,822 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-28 15:12:17,822 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-28 15:12:17,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {31138#true} assume !(0 == ~__BLAST_NONDET~5); {31138#true} is VALID [2022-04-28 15:12:17,822 INFO L290 TraceCheckUtils]: 28: Hoare triple {31138#true} #res := -1073741823; {31138#true} is VALID [2022-04-28 15:12:17,822 INFO L290 TraceCheckUtils]: 29: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,822 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {31138#true} {31138#true} #1176#return; {31138#true} is VALID [2022-04-28 15:12:17,822 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-28 15:12:17,822 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-28 15:12:17,822 INFO L290 TraceCheckUtils]: 33: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,823 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {31138#true} {31138#true} #1220#return; {31138#true} is VALID [2022-04-28 15:12:17,823 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-28 15:12:17,823 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-28 15:12:17,823 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-28 15:12:17,823 INFO L290 TraceCheckUtils]: 38: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-28 15:12:17,823 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {31138#true} {31138#true} #1222#return; {31138#true} is VALID [2022-04-28 15:12:17,823 INFO L290 TraceCheckUtils]: 40: Hoare triple {31138#true} assume !!(~status~5 >= 0); {31138#true} is VALID [2022-04-28 15:12:17,824 INFO L290 TraceCheckUtils]: 41: Hoare triple {31138#true} assume !(0 == ~__BLAST_NONDET~0); {31138#true} is VALID [2022-04-28 15:12:17,824 INFO L290 TraceCheckUtils]: 42: Hoare triple {31138#true} assume !(1 == ~__BLAST_NONDET~0); {31138#true} is VALID [2022-04-28 15:12:17,824 INFO L290 TraceCheckUtils]: 43: Hoare triple {31138#true} assume !(2 == ~__BLAST_NONDET~0); {31138#true} is VALID [2022-04-28 15:12:17,824 INFO L290 TraceCheckUtils]: 44: Hoare triple {31138#true} assume 3 == ~__BLAST_NONDET~0; {31138#true} is VALID [2022-04-28 15:12:17,824 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-28 15:12:17,824 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-28 15:12:17,824 INFO L290 TraceCheckUtils]: 47: Hoare triple {31138#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {31138#true} is VALID [2022-04-28 15:12:17,824 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-28 15:12:17,825 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-28 15:12:17,825 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-28 15:12:17,825 INFO L290 TraceCheckUtils]: 51: Hoare triple {31138#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {31138#true} is VALID [2022-04-28 15:12:17,825 INFO L290 TraceCheckUtils]: 52: Hoare triple {31138#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {31138#true} is VALID [2022-04-28 15:12:17,825 INFO L290 TraceCheckUtils]: 53: Hoare triple {31138#true} assume #res.base == dest.base && #res.offset == dest.offset; {31138#true} is VALID [2022-04-28 15:12:17,825 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {31138#true} {31138#true} #1186#return; {31138#true} is VALID [2022-04-28 15:12:17,825 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-28 15:12:17,825 INFO L290 TraceCheckUtils]: 56: Hoare triple {31138#true} assume !(~s~0 != ~NP~0); {31138#true} is VALID [2022-04-28 15:12:17,826 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-28 15:12:17,827 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-28 15:12:17,827 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-28 15:12:17,827 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-28 15:12:17,828 INFO L290 TraceCheckUtils]: 61: Hoare triple {31138#true} assume !(0 != ~compRegistered~0); {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,828 INFO L290 TraceCheckUtils]: 62: Hoare triple {31198#(<= ~compRegistered~0 0)} assume 0 == ~__BLAST_NONDET~11; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,828 INFO L290 TraceCheckUtils]: 63: Hoare triple {31198#(<= ~compRegistered~0 0)} ~returnVal2~0 := 0; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,828 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-28 15:12:17,829 INFO L290 TraceCheckUtils]: 65: Hoare triple {31198#(<= ~compRegistered~0 0)} #res := ~returnVal2~0; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,829 INFO L290 TraceCheckUtils]: 66: Hoare triple {31198#(<= ~compRegistered~0 0)} assume true; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-28 15:12:17,830 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {31198#(<= ~compRegistered~0 0)} {31174#(= ~compRegistered~0 1)} #1192#return; {31139#false} is VALID [2022-04-28 15:12:17,830 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-28 15:12:17,830 INFO L290 TraceCheckUtils]: 69: Hoare triple {31139#false} assume !(259 == ~status~3); {31139#false} is VALID [2022-04-28 15:12:17,830 INFO L290 TraceCheckUtils]: 70: Hoare triple {31139#false} assume !(~status~3 >= 0); {31139#false} is VALID [2022-04-28 15:12:17,830 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-28 15:12:17,830 INFO L272 TraceCheckUtils]: 72: Hoare triple {31139#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {31139#false} is VALID [2022-04-28 15:12:17,830 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-28 15:12:17,830 INFO L290 TraceCheckUtils]: 74: Hoare triple {31139#false} assume !(~s~0 == ~NP~0); {31139#false} is VALID [2022-04-28 15:12:17,830 INFO L272 TraceCheckUtils]: 75: Hoare triple {31139#false} call errorFn(); {31139#false} is VALID [2022-04-28 15:12:17,830 INFO L290 TraceCheckUtils]: 76: Hoare triple {31139#false} assume !false; {31139#false} is VALID [2022-04-28 15:12:17,831 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-28 15:12:17,831 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:12:17,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1085384434] [2022-04-28 15:12:17,831 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1085384434] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:12:17,831 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:12:17,831 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:12:17,831 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:12:17,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [944635767] [2022-04-28 15:12:17,831 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [944635767] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:12:17,831 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:12:17,831 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:12:17,831 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [702436807] [2022-04-28 15:12:17,832 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:12:17,832 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-28 15:12:17,832 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:12:17,832 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-28 15:12:17,895 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-28 15:12:17,895 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 15:12:17,895 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:12:17,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 15:12:17,896 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 15:12:17,896 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-28 15:12:20,065 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-28 15:12:26,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:26,761 INFO L93 Difference]: Finished difference Result 437 states and 561 transitions. [2022-04-28 15:12:26,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 15:12:26,761 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-28 15:12:26,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:12:26,761 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-28 15:12:26,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 493 transitions. [2022-04-28 15:12:26,764 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-28 15:12:26,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 493 transitions. [2022-04-28 15:12:26,766 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 493 transitions. [2022-04-28 15:12:27,291 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-28 15:12:27,298 INFO L225 Difference]: With dead ends: 437 [2022-04-28 15:12:27,298 INFO L226 Difference]: Without dead ends: 374 [2022-04-28 15:12:27,298 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=103, Invalid=277, Unknown=0, NotChecked=0, Total=380 [2022-04-28 15:12:27,299 INFO L413 NwaCegarLoop]: 313 mSDtfsCounter, 977 mSDsluCounter, 253 mSDsCounter, 0 mSdLazyCounter, 841 mSolverCounterSat, 316 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.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, 4.8s IncrementalHoareTripleChecker+Time [2022-04-28 15:12:27,299 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [987 Valid, 566 Invalid, 1158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [316 Valid, 841 Invalid, 1 Unknown, 0 Unchecked, 4.8s Time] [2022-04-28 15:12:27,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 374 states. [2022-04-28 15:12:27,719 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 374 to 345. [2022-04-28 15:12:27,719 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:12:27,720 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-28 15:12:27,720 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-28 15:12:27,721 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-28 15:12:27,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:27,726 INFO L93 Difference]: Finished difference Result 374 states and 482 transitions. [2022-04-28 15:12:27,726 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 482 transitions. [2022-04-28 15:12:27,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:12:27,727 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:12:27,727 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-28 15:12:27,727 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-28 15:12:27,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:27,733 INFO L93 Difference]: Finished difference Result 374 states and 482 transitions. [2022-04-28 15:12:27,733 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 482 transitions. [2022-04-28 15:12:27,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:12:27,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:12:27,733 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:12:27,733 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:12:27,734 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-28 15:12:27,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 345 states to 345 states and 447 transitions. [2022-04-28 15:12:27,740 INFO L78 Accepts]: Start accepts. Automaton has 345 states and 447 transitions. Word has length 77 [2022-04-28 15:12:27,740 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:12:27,740 INFO L495 AbstractCegarLoop]: Abstraction has 345 states and 447 transitions. [2022-04-28 15:12:27,740 INFO L496 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-28 15:12:27,740 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 345 states and 447 transitions. [2022-04-28 15:12:28,428 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-28 15:12:28,428 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 447 transitions. [2022-04-28 15:12:28,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 15:12:28,429 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:12:28,429 INFO L195 NwaCegarLoop]: 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-28 15:12:28,429 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-04-28 15:12:28,429 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:12:28,429 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:12:28,429 INFO L85 PathProgramCache]: Analyzing trace with hash 641442499, now seen corresponding path program 1 times [2022-04-28 15:12:28,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:12:28,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1656365162] [2022-04-28 15:12:28,429 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:12:28,430 INFO L85 PathProgramCache]: Analyzing trace with hash 641442499, now seen corresponding path program 2 times [2022-04-28 15:12:28,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:12:28,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1174684012] [2022-04-28 15:12:28,430 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:12:28,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:12:28,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,560 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:12:28,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,566 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-28 15:12:28,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,567 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33538#true} {33538#true} #1270#return; {33538#true} is VALID [2022-04-28 15:12:28,593 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:12:28,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,600 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-28 15:12:28,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,600 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33538#true} {33538#true} #1216#return; {33538#true} is VALID [2022-04-28 15:12:28,608 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:12:28,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,622 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:12:28,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,627 INFO L290 TraceCheckUtils]: 0: Hoare triple {33538#true} ~cond := #in~cond; {33538#true} is VALID [2022-04-28 15:12:28,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume !(0 == ~cond); {33538#true} is VALID [2022-04-28 15:12:28,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33538#true} {33538#true} #1254#return; {33538#true} is VALID [2022-04-28 15:12:28,628 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-28 15:12:28,628 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-28 15:12:28,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} ~cond := #in~cond; {33538#true} is VALID [2022-04-28 15:12:28,628 INFO L290 TraceCheckUtils]: 3: Hoare triple {33538#true} assume !(0 == ~cond); {33538#true} is VALID [2022-04-28 15:12:28,628 INFO L290 TraceCheckUtils]: 4: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,628 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {33538#true} {33538#true} #1254#return; {33538#true} is VALID [2022-04-28 15:12:28,628 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-28 15:12:28,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,628 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {33538#true} {33538#true} #1218#return; {33538#true} is VALID [2022-04-28 15:12:28,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:12:28,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,646 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:12:28,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,653 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-28 15:12:28,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume !(0 == ~__BLAST_NONDET~5); {33538#true} is VALID [2022-04-28 15:12:28,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} #res := -1073741823; {33538#true} is VALID [2022-04-28 15:12:28,653 INFO L290 TraceCheckUtils]: 3: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,653 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {33538#true} {33538#true} #1176#return; {33538#true} is VALID [2022-04-28 15:12:28,653 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-28 15:12:28,654 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-28 15:12:28,654 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-28 15:12:28,655 INFO L290 TraceCheckUtils]: 3: Hoare triple {33538#true} assume !(0 == ~__BLAST_NONDET~5); {33538#true} is VALID [2022-04-28 15:12:28,655 INFO L290 TraceCheckUtils]: 4: Hoare triple {33538#true} #res := -1073741823; {33538#true} is VALID [2022-04-28 15:12:28,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,655 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {33538#true} {33538#true} #1176#return; {33538#true} is VALID [2022-04-28 15:12:28,655 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-28 15:12:28,655 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-28 15:12:28,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33538#true} {33538#true} #1220#return; {33538#true} is VALID [2022-04-28 15:12:28,669 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:12:28,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,674 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-28 15:12:28,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,675 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33538#true} {33538#true} #1222#return; {33538#true} is VALID [2022-04-28 15:12:28,688 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-28 15:12:28,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,729 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:12:28,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:28,736 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-28 15:12:28,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33538#true} is VALID [2022-04-28 15:12:28,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,737 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-28 15:12:28,737 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-28 15:12:28,737 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-28 15:12:28,738 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-28 15:12:28,738 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-28 15:12:28,738 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-28 15:12:28,739 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-28 15:12:28,739 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-28 15:12:28,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {33538#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33538#true} is VALID [2022-04-28 15:12:28,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,740 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-28 15:12:28,740 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-28 15:12:28,740 INFO L290 TraceCheckUtils]: 11: Hoare triple {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} assume true; {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-28 15:12:28,741 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-28 15:12:28,742 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-28 15:12:28,742 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-28 15:12:28,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33538#true} {33538#true} #1270#return; {33538#true} is VALID [2022-04-28 15:12:28,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {33538#true} call #t~ret213 := main(); {33538#true} is VALID [2022-04-28 15:12:28,743 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-28 15:12:28,744 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-28 15:12:28,744 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-28 15:12:28,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,744 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {33538#true} {33538#true} #1216#return; {33538#true} is VALID [2022-04-28 15:12:28,745 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-28 15:12:28,745 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-28 15:12:28,745 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-28 15:12:28,745 INFO L290 TraceCheckUtils]: 13: Hoare triple {33538#true} ~cond := #in~cond; {33538#true} is VALID [2022-04-28 15:12:28,745 INFO L290 TraceCheckUtils]: 14: Hoare triple {33538#true} assume !(0 == ~cond); {33538#true} is VALID [2022-04-28 15:12:28,745 INFO L290 TraceCheckUtils]: 15: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,745 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {33538#true} {33538#true} #1254#return; {33538#true} is VALID [2022-04-28 15:12:28,745 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-28 15:12:28,745 INFO L290 TraceCheckUtils]: 18: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,745 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {33538#true} {33538#true} #1218#return; {33538#true} is VALID [2022-04-28 15:12:28,745 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-28 15:12:28,745 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-28 15:12:28,745 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-28 15:12:28,746 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-28 15:12:28,746 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-28 15:12:28,747 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-28 15:12:28,748 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-28 15:12:28,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {33538#true} assume !(0 == ~__BLAST_NONDET~5); {33538#true} is VALID [2022-04-28 15:12:28,748 INFO L290 TraceCheckUtils]: 28: Hoare triple {33538#true} #res := -1073741823; {33538#true} is VALID [2022-04-28 15:12:28,748 INFO L290 TraceCheckUtils]: 29: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,748 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {33538#true} {33538#true} #1176#return; {33538#true} is VALID [2022-04-28 15:12:28,748 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-28 15:12:28,748 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-28 15:12:28,748 INFO L290 TraceCheckUtils]: 33: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,748 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {33538#true} {33538#true} #1220#return; {33538#true} is VALID [2022-04-28 15:12:28,748 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-28 15:12:28,749 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-28 15:12:28,749 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-28 15:12:28,749 INFO L290 TraceCheckUtils]: 38: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,749 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {33538#true} {33538#true} #1222#return; {33538#true} is VALID [2022-04-28 15:12:28,749 INFO L290 TraceCheckUtils]: 40: Hoare triple {33538#true} assume !!(~status~5 >= 0); {33538#true} is VALID [2022-04-28 15:12:28,749 INFO L290 TraceCheckUtils]: 41: Hoare triple {33538#true} assume !(0 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-28 15:12:28,749 INFO L290 TraceCheckUtils]: 42: Hoare triple {33538#true} assume !(1 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-28 15:12:28,749 INFO L290 TraceCheckUtils]: 43: Hoare triple {33538#true} assume !(2 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-28 15:12:28,749 INFO L290 TraceCheckUtils]: 44: Hoare triple {33538#true} assume !(3 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-28 15:12:28,749 INFO L290 TraceCheckUtils]: 45: Hoare triple {33538#true} assume !(4 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-28 15:12:28,749 INFO L290 TraceCheckUtils]: 46: Hoare triple {33538#true} assume 8 == ~__BLAST_NONDET~0; {33538#true} is VALID [2022-04-28 15:12:28,750 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-28 15:12:28,750 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-28 15:12:28,750 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-28 15:12:28,751 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-28 15:12:28,751 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-28 15:12:28,751 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-28 15:12:28,752 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-28 15:12:28,752 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-28 15:12:28,752 INFO L290 TraceCheckUtils]: 55: Hoare triple {33538#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33538#true} is VALID [2022-04-28 15:12:28,752 INFO L290 TraceCheckUtils]: 56: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-28 15:12:28,752 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-28 15:12:28,753 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-28 15:12:28,753 INFO L290 TraceCheckUtils]: 59: Hoare triple {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} assume true; {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-28 15:12:28,754 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-28 15:12:28,754 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-28 15:12:28,755 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-28 15:12:28,755 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-28 15:12:28,755 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-28 15:12:28,755 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-28 15:12:28,756 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-28 15:12:28,756 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-28 15:12:28,756 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-28 15:12:28,757 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-28 15:12:28,757 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-28 15:12:28,757 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-28 15:12:28,757 INFO L290 TraceCheckUtils]: 72: Hoare triple {33583#(not (= main_~status~5 259))} assume 259 == ~status~5; {33539#false} is VALID [2022-04-28 15:12:28,758 INFO L272 TraceCheckUtils]: 73: Hoare triple {33539#false} call errorFn(); {33539#false} is VALID [2022-04-28 15:12:28,758 INFO L290 TraceCheckUtils]: 74: Hoare triple {33539#false} assume !false; {33539#false} is VALID [2022-04-28 15:12:28,758 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-28 15:12:28,758 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:12:28,758 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1174684012] [2022-04-28 15:12:28,758 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1174684012] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:12:28,758 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:12:28,758 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 15:12:28,759 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:12:28,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1656365162] [2022-04-28 15:12:28,759 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1656365162] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:12:28,759 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:12:28,759 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 15:12:28,759 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [484320742] [2022-04-28 15:12:28,759 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:12:28,759 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-28 15:12:28,759 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:12:28,759 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-28 15:12:28,828 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-28 15:12:28,828 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 15:12:28,829 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:12:28,829 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 15:12:28,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-28 15:12:28,829 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-28 15:12:30,977 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-28 15:12:43,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:43,826 INFO L93 Difference]: Finished difference Result 417 states and 534 transitions. [2022-04-28 15:12:43,826 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 15:12:43,826 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-28 15:12:43,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:12:43,826 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-28 15:12:43,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 480 transitions. [2022-04-28 15:12:43,829 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-28 15:12:43,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 480 transitions. [2022-04-28 15:12:43,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 480 transitions. [2022-04-28 15:12:44,388 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-28 15:12:44,395 INFO L225 Difference]: With dead ends: 417 [2022-04-28 15:12:44,395 INFO L226 Difference]: Without dead ends: 359 [2022-04-28 15:12:44,396 INFO L412 NwaCegarLoop]: 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-28 15:12:44,396 INFO L413 NwaCegarLoop]: 279 mSDtfsCounter, 489 mSDsluCounter, 538 mSDsCounter, 0 mSdLazyCounter, 2077 mSolverCounterSat, 177 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.4s 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, 8.4s IncrementalHoareTripleChecker+Time [2022-04-28 15:12:44,396 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [492 Valid, 817 Invalid, 2255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [177 Valid, 2077 Invalid, 1 Unknown, 0 Unchecked, 8.4s Time] [2022-04-28 15:12:44,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 359 states. [2022-04-28 15:12:44,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 359 to 344. [2022-04-28 15:12:44,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:12:44,881 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-28 15:12:44,881 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-28 15:12:44,881 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-28 15:12:44,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:44,887 INFO L93 Difference]: Finished difference Result 359 states and 463 transitions. [2022-04-28 15:12:44,887 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 463 transitions. [2022-04-28 15:12:44,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:12:44,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:12:44,888 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-28 15:12:44,888 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-28 15:12:44,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:44,894 INFO L93 Difference]: Finished difference Result 359 states and 463 transitions. [2022-04-28 15:12:44,894 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 463 transitions. [2022-04-28 15:12:44,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:12:44,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:12:44,894 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:12:44,894 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:12:44,895 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-28 15:12:44,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 442 transitions. [2022-04-28 15:12:44,903 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 442 transitions. Word has length 75 [2022-04-28 15:12:44,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:12:44,903 INFO L495 AbstractCegarLoop]: Abstraction has 344 states and 442 transitions. [2022-04-28 15:12:44,903 INFO L496 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-28 15:12:44,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 344 states and 442 transitions. [2022-04-28 15:12:45,616 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-28 15:12:45,616 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 442 transitions. [2022-04-28 15:12:45,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-28 15:12:45,617 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:12:45,617 INFO L195 NwaCegarLoop]: 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-28 15:12:45,617 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-04-28 15:12:45,617 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:12:45,618 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:12:45,618 INFO L85 PathProgramCache]: Analyzing trace with hash 476602328, now seen corresponding path program 1 times [2022-04-28 15:12:45,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:12:45,618 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1773353159] [2022-04-28 15:12:45,618 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:12:45,618 INFO L85 PathProgramCache]: Analyzing trace with hash 476602328, now seen corresponding path program 2 times [2022-04-28 15:12:45,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:12:45,618 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1137383985] [2022-04-28 15:12:45,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:12:45,618 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:12:45,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,758 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:12:45,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,771 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-28 15:12:45,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:45,772 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35862#true} {35862#true} #1270#return; {35862#true} is VALID [2022-04-28 15:12:45,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:12:45,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,814 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-28 15:12:45,815 INFO L290 TraceCheckUtils]: 1: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume true; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-28 15:12:45,815 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-28 15:12:45,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:12:45,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:12:45,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,843 INFO L290 TraceCheckUtils]: 0: Hoare triple {35862#true} ~cond := #in~cond; {35862#true} is VALID [2022-04-28 15:12:45,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume !(0 == ~cond); {35862#true} is VALID [2022-04-28 15:12:45,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:45,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35862#true} {35862#true} #1254#return; {35862#true} is VALID [2022-04-28 15:12:45,844 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-28 15:12:45,844 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-28 15:12:45,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#true} ~cond := #in~cond; {35862#true} is VALID [2022-04-28 15:12:45,844 INFO L290 TraceCheckUtils]: 3: Hoare triple {35862#true} assume !(0 == ~cond); {35862#true} is VALID [2022-04-28 15:12:45,844 INFO L290 TraceCheckUtils]: 4: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:45,844 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {35862#true} {35862#true} #1254#return; {35862#true} is VALID [2022-04-28 15:12:45,844 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-28 15:12:45,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:45,845 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-28 15:12:45,853 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:12:45,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,863 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:12:45,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,884 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-28 15:12:45,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume !(0 == ~__BLAST_NONDET~5); {35862#true} is VALID [2022-04-28 15:12:45,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#true} #res := -1073741823; {35862#true} is VALID [2022-04-28 15:12:45,884 INFO L290 TraceCheckUtils]: 3: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:45,884 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {35862#true} {35862#true} #1176#return; {35862#true} is VALID [2022-04-28 15:12:45,885 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-28 15:12:45,885 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-28 15:12:45,886 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-28 15:12:45,886 INFO L290 TraceCheckUtils]: 3: Hoare triple {35862#true} assume !(0 == ~__BLAST_NONDET~5); {35862#true} is VALID [2022-04-28 15:12:45,886 INFO L290 TraceCheckUtils]: 4: Hoare triple {35862#true} #res := -1073741823; {35862#true} is VALID [2022-04-28 15:12:45,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:45,886 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {35862#true} {35862#true} #1176#return; {35862#true} is VALID [2022-04-28 15:12:45,886 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-28 15:12:45,886 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-28 15:12:45,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:45,887 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-28 15:12:45,898 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:12:45,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,906 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-28 15:12:45,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:45,906 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-28 15:12:45,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 15:12:45,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,958 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:12:45,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:12:45,987 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-28 15:12:45,987 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-28 15:12:45,988 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-28 15:12:45,988 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-28 15:12:45,988 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-28 15:12:45,989 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-28 15:12:45,989 INFO L290 TraceCheckUtils]: 6: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} assume true; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-28 15:12:45,990 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-28 15:12:45,990 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-28 15:12:45,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {35862#true} is VALID [2022-04-28 15:12:45,990 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-28 15:12:45,990 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-28 15:12:45,991 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-28 15:12:45,992 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-28 15:12:45,992 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-28 15:12:45,992 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-28 15:12:45,992 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-28 15:12:45,993 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-28 15:12:45,993 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-28 15:12:45,993 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-28 15:12:45,994 INFO L290 TraceCheckUtils]: 12: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} assume true; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-28 15:12:45,994 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-28 15:12:45,998 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-28 15:12:45,999 INFO L290 TraceCheckUtils]: 15: Hoare triple {35935#(= ~SKIP1~0 ~NP~0)} assume true; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-28 15:12:45,999 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-28 15:12:46,001 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-28 15:12:46,001 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-28 15:12:46,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:46,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35862#true} {35862#true} #1270#return; {35862#true} is VALID [2022-04-28 15:12:46,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {35862#true} call #t~ret213 := main(); {35862#true} is VALID [2022-04-28 15:12:46,001 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-28 15:12:46,002 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-28 15:12:46,002 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-28 15:12:46,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume true; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-28 15:12:46,003 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-28 15:12:46,004 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-28 15:12:46,004 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-28 15:12:46,004 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-28 15:12:46,004 INFO L290 TraceCheckUtils]: 13: Hoare triple {35862#true} ~cond := #in~cond; {35862#true} is VALID [2022-04-28 15:12:46,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {35862#true} assume !(0 == ~cond); {35862#true} is VALID [2022-04-28 15:12:46,005 INFO L290 TraceCheckUtils]: 15: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:46,005 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35862#true} {35862#true} #1254#return; {35862#true} is VALID [2022-04-28 15:12:46,005 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-28 15:12:46,005 INFO L290 TraceCheckUtils]: 18: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:46,005 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-28 15:12:46,006 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-28 15:12:46,006 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-28 15:12:46,006 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-28 15:12:46,007 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-28 15:12:46,007 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-28 15:12:46,008 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-28 15:12:46,008 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-28 15:12:46,008 INFO L290 TraceCheckUtils]: 27: Hoare triple {35862#true} assume !(0 == ~__BLAST_NONDET~5); {35862#true} is VALID [2022-04-28 15:12:46,008 INFO L290 TraceCheckUtils]: 28: Hoare triple {35862#true} #res := -1073741823; {35862#true} is VALID [2022-04-28 15:12:46,008 INFO L290 TraceCheckUtils]: 29: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:46,008 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {35862#true} {35862#true} #1176#return; {35862#true} is VALID [2022-04-28 15:12:46,008 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-28 15:12:46,009 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-28 15:12:46,009 INFO L290 TraceCheckUtils]: 33: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:46,009 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-28 15:12:46,009 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-28 15:12:46,010 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-28 15:12:46,010 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-28 15:12:46,010 INFO L290 TraceCheckUtils]: 38: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-28 15:12:46,011 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-28 15:12:46,011 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-28 15:12:46,011 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-28 15:12:46,011 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-28 15:12:46,011 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-28 15:12:46,012 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-28 15:12:46,012 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-28 15:12:46,013 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-28 15:12:46,013 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-28 15:12:46,013 INFO L290 TraceCheckUtils]: 48: Hoare triple {35862#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {35862#true} is VALID [2022-04-28 15:12:46,013 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-28 15:12:46,013 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-28 15:12:46,014 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-28 15:12:46,015 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-28 15:12:46,015 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-28 15:12:46,015 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-28 15:12:46,015 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-28 15:12:46,016 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-28 15:12:46,016 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-28 15:12:46,016 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-28 15:12:46,016 INFO L290 TraceCheckUtils]: 59: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} assume true; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-28 15:12:46,017 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-28 15:12:46,017 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-28 15:12:46,018 INFO L290 TraceCheckUtils]: 62: Hoare triple {35935#(= ~SKIP1~0 ~NP~0)} assume true; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-28 15:12:46,018 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-28 15:12:46,018 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-28 15:12:46,019 INFO L290 TraceCheckUtils]: 65: Hoare triple {35863#false} assume 0 != ~we_should_unload~0; {35863#false} is VALID [2022-04-28 15:12:46,019 INFO L290 TraceCheckUtils]: 66: Hoare triple {35863#false} assume !(1 == ~pended~0); {35863#false} is VALID [2022-04-28 15:12:46,019 INFO L290 TraceCheckUtils]: 67: Hoare triple {35863#false} assume !(1 == ~pended~0); {35863#false} is VALID [2022-04-28 15:12:46,019 INFO L290 TraceCheckUtils]: 68: Hoare triple {35863#false} assume !(~s~0 == ~UNLOADED~0); {35863#false} is VALID [2022-04-28 15:12:46,019 INFO L290 TraceCheckUtils]: 69: Hoare triple {35863#false} assume !(-1 == ~status~5); {35863#false} is VALID [2022-04-28 15:12:46,019 INFO L290 TraceCheckUtils]: 70: Hoare triple {35863#false} assume !(~s~0 != ~SKIP2~0); {35863#false} is VALID [2022-04-28 15:12:46,019 INFO L290 TraceCheckUtils]: 71: Hoare triple {35863#false} assume !(1 == ~pended~0); {35863#false} is VALID [2022-04-28 15:12:46,020 INFO L290 TraceCheckUtils]: 72: Hoare triple {35863#false} assume ~s~0 == ~DC~0; {35863#false} is VALID [2022-04-28 15:12:46,020 INFO L290 TraceCheckUtils]: 73: Hoare triple {35863#false} assume 259 == ~status~5; {35863#false} is VALID [2022-04-28 15:12:46,020 INFO L272 TraceCheckUtils]: 74: Hoare triple {35863#false} call errorFn(); {35863#false} is VALID [2022-04-28 15:12:46,020 INFO L290 TraceCheckUtils]: 75: Hoare triple {35863#false} assume !false; {35863#false} is VALID [2022-04-28 15:12:46,020 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-28 15:12:46,020 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:12:46,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1137383985] [2022-04-28 15:12:46,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1137383985] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:12:46,020 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:12:46,020 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:12:46,021 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:12:46,021 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1773353159] [2022-04-28 15:12:46,021 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1773353159] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:12:46,021 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:12:46,021 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:12:46,021 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1402217692] [2022-04-28 15:12:46,021 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:12:46,022 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-28 15:12:46,022 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:12:46,022 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-28 15:12:46,075 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-28 15:12:46,076 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 15:12:46,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:12:46,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 15:12:46,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:12:46,076 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-28 15:12:48,318 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-28 15:12:59,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:12:59,841 INFO L93 Difference]: Finished difference Result 422 states and 536 transitions. [2022-04-28 15:12:59,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 15:12:59,841 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-28 15:12:59,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:12:59,842 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-28 15:12:59,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 508 transitions. [2022-04-28 15:12:59,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-28 15:12:59,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 508 transitions. [2022-04-28 15:12:59,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 508 transitions. [2022-04-28 15:13:00,424 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-28 15:13:00,432 INFO L225 Difference]: With dead ends: 422 [2022-04-28 15:13:00,432 INFO L226 Difference]: Without dead ends: 379 [2022-04-28 15:13:00,432 INFO L412 NwaCegarLoop]: 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-28 15:13:00,433 INFO L413 NwaCegarLoop]: 303 mSDtfsCounter, 1227 mSDsluCounter, 389 mSDsCounter, 0 mSdLazyCounter, 1608 mSolverCounterSat, 436 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.7s 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, 6.8s IncrementalHoareTripleChecker+Time [2022-04-28 15:13:00,433 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1232 Valid, 692 Invalid, 2045 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [436 Valid, 1608 Invalid, 1 Unknown, 0 Unchecked, 6.8s Time] [2022-04-28 15:13:00,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 379 states. [2022-04-28 15:13:00,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 379 to 344. [2022-04-28 15:13:00,893 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:13:00,894 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-28 15:13:00,894 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-28 15:13:00,894 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-28 15:13:00,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:00,900 INFO L93 Difference]: Finished difference Result 379 states and 484 transitions. [2022-04-28 15:13:00,901 INFO L276 IsEmpty]: Start isEmpty. Operand 379 states and 484 transitions. [2022-04-28 15:13:00,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:13:00,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:13:00,902 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-28 15:13:00,902 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-28 15:13:00,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:00,908 INFO L93 Difference]: Finished difference Result 379 states and 484 transitions. [2022-04-28 15:13:00,908 INFO L276 IsEmpty]: Start isEmpty. Operand 379 states and 484 transitions. [2022-04-28 15:13:00,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:13:00,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:13:00,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:13:00,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:13:00,909 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-28 15:13:00,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 439 transitions. [2022-04-28 15:13:00,915 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 439 transitions. Word has length 76 [2022-04-28 15:13:00,915 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:13:00,915 INFO L495 AbstractCegarLoop]: Abstraction has 344 states and 439 transitions. [2022-04-28 15:13:00,915 INFO L496 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-28 15:13:00,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 344 states and 439 transitions. [2022-04-28 15:13:01,630 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-28 15:13:01,631 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 439 transitions. [2022-04-28 15:13:01,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-28 15:13:01,636 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:13:01,636 INFO L195 NwaCegarLoop]: 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-28 15:13:01,636 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-04-28 15:13:01,636 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:13:01,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:13:01,636 INFO L85 PathProgramCache]: Analyzing trace with hash 1346047832, now seen corresponding path program 1 times [2022-04-28 15:13:01,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:13:01,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [866398883] [2022-04-28 15:13:01,637 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:13:01,637 INFO L85 PathProgramCache]: Analyzing trace with hash 1346047832, now seen corresponding path program 2 times [2022-04-28 15:13:01,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:13:01,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [336688252] [2022-04-28 15:13:01,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:13:01,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:13:01,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,758 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:13:01,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,765 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-28 15:13:01,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,765 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38277#true} {38277#true} #1270#return; {38277#true} is VALID [2022-04-28 15:13:01,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:13:01,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,791 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-28 15:13:01,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,791 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38277#true} {38277#true} #1216#return; {38277#true} is VALID [2022-04-28 15:13:01,797 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:13:01,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,809 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:13:01,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {38277#true} ~cond := #in~cond; {38277#true} is VALID [2022-04-28 15:13:01,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume !(0 == ~cond); {38277#true} is VALID [2022-04-28 15:13:01,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38277#true} {38277#true} #1254#return; {38277#true} is VALID [2022-04-28 15:13:01,814 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-28 15:13:01,814 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-28 15:13:01,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} ~cond := #in~cond; {38277#true} is VALID [2022-04-28 15:13:01,814 INFO L290 TraceCheckUtils]: 3: Hoare triple {38277#true} assume !(0 == ~cond); {38277#true} is VALID [2022-04-28 15:13:01,814 INFO L290 TraceCheckUtils]: 4: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,814 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {38277#true} {38277#true} #1254#return; {38277#true} is VALID [2022-04-28 15:13:01,814 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-28 15:13:01,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,814 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {38277#true} {38277#true} #1218#return; {38277#true} is VALID [2022-04-28 15:13:01,822 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:13:01,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:13:01,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,836 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-28 15:13:01,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume !(0 == ~__BLAST_NONDET~5); {38277#true} is VALID [2022-04-28 15:13:01,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} #res := -1073741823; {38277#true} is VALID [2022-04-28 15:13:01,836 INFO L290 TraceCheckUtils]: 3: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,836 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {38277#true} {38277#true} #1176#return; {38277#true} is VALID [2022-04-28 15:13:01,836 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-28 15:13:01,837 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-28 15:13:01,837 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-28 15:13:01,837 INFO L290 TraceCheckUtils]: 3: Hoare triple {38277#true} assume !(0 == ~__BLAST_NONDET~5); {38277#true} is VALID [2022-04-28 15:13:01,837 INFO L290 TraceCheckUtils]: 4: Hoare triple {38277#true} #res := -1073741823; {38277#true} is VALID [2022-04-28 15:13:01,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,838 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {38277#true} {38277#true} #1176#return; {38277#true} is VALID [2022-04-28 15:13:01,838 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-28 15:13:01,838 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-28 15:13:01,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,838 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38277#true} {38277#true} #1220#return; {38277#true} is VALID [2022-04-28 15:13:01,849 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:13:01,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,854 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-28 15:13:01,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,854 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38277#true} {38277#true} #1222#return; {38277#true} is VALID [2022-04-28 15:13:01,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-28 15:13:01,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,892 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:13:01,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:01,897 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-28 15:13:01,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38277#true} is VALID [2022-04-28 15:13:01,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,897 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38277#true} {38278#false} #1248#return; {38278#false} is VALID [2022-04-28 15:13:01,898 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-28 15:13:01,898 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-28 15:13:01,898 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-28 15:13:01,899 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-28 15:13:01,899 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-28 15:13:01,903 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-28 15:13:01,903 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-28 15:13:01,903 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-28 15:13:01,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {38277#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38277#true} is VALID [2022-04-28 15:13:01,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,903 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38277#true} {38278#false} #1248#return; {38278#false} is VALID [2022-04-28 15:13:01,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {38278#false} #res := ~status~2; {38278#false} is VALID [2022-04-28 15:13:01,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {38278#false} assume true; {38278#false} is VALID [2022-04-28 15:13:01,904 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {38278#false} {38277#true} #1234#return; {38278#false} is VALID [2022-04-28 15:13:01,905 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-28 15:13:01,905 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-28 15:13:01,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38277#true} {38277#true} #1270#return; {38277#true} is VALID [2022-04-28 15:13:01,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {38277#true} call #t~ret213 := main(); {38277#true} is VALID [2022-04-28 15:13:01,905 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-28 15:13:01,906 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-28 15:13:01,906 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-28 15:13:01,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,906 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {38277#true} {38277#true} #1216#return; {38277#true} is VALID [2022-04-28 15:13:01,907 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-28 15:13:01,907 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-28 15:13:01,907 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-28 15:13:01,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {38277#true} ~cond := #in~cond; {38277#true} is VALID [2022-04-28 15:13:01,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {38277#true} assume !(0 == ~cond); {38277#true} is VALID [2022-04-28 15:13:01,907 INFO L290 TraceCheckUtils]: 15: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,907 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38277#true} {38277#true} #1254#return; {38277#true} is VALID [2022-04-28 15:13:01,907 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-28 15:13:01,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,908 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {38277#true} {38277#true} #1218#return; {38277#true} is VALID [2022-04-28 15:13:01,908 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-28 15:13:01,908 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-28 15:13:01,908 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-28 15:13:01,908 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-28 15:13:01,909 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-28 15:13:01,910 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-28 15:13:01,910 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-28 15:13:01,910 INFO L290 TraceCheckUtils]: 27: Hoare triple {38277#true} assume !(0 == ~__BLAST_NONDET~5); {38277#true} is VALID [2022-04-28 15:13:01,910 INFO L290 TraceCheckUtils]: 28: Hoare triple {38277#true} #res := -1073741823; {38277#true} is VALID [2022-04-28 15:13:01,910 INFO L290 TraceCheckUtils]: 29: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,910 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {38277#true} {38277#true} #1176#return; {38277#true} is VALID [2022-04-28 15:13:01,910 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-28 15:13:01,910 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-28 15:13:01,911 INFO L290 TraceCheckUtils]: 33: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,911 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {38277#true} {38277#true} #1220#return; {38277#true} is VALID [2022-04-28 15:13:01,911 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-28 15:13:01,912 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-28 15:13:01,912 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-28 15:13:01,912 INFO L290 TraceCheckUtils]: 38: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,912 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {38277#true} {38277#true} #1222#return; {38277#true} is VALID [2022-04-28 15:13:01,912 INFO L290 TraceCheckUtils]: 40: Hoare triple {38277#true} assume !!(~status~5 >= 0); {38277#true} is VALID [2022-04-28 15:13:01,912 INFO L290 TraceCheckUtils]: 41: Hoare triple {38277#true} assume !(0 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-28 15:13:01,912 INFO L290 TraceCheckUtils]: 42: Hoare triple {38277#true} assume !(1 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-28 15:13:01,912 INFO L290 TraceCheckUtils]: 43: Hoare triple {38277#true} assume !(2 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-28 15:13:01,913 INFO L290 TraceCheckUtils]: 44: Hoare triple {38277#true} assume !(3 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-28 15:13:01,913 INFO L290 TraceCheckUtils]: 45: Hoare triple {38277#true} assume !(4 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-28 15:13:01,913 INFO L290 TraceCheckUtils]: 46: Hoare triple {38277#true} assume 8 == ~__BLAST_NONDET~0; {38277#true} is VALID [2022-04-28 15:13:01,913 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-28 15:13:01,914 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-28 15:13:01,914 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-28 15:13:01,915 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-28 15:13:01,915 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-28 15:13:01,915 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-28 15:13:01,915 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-28 15:13:01,915 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-28 15:13:01,916 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-28 15:13:01,916 INFO L290 TraceCheckUtils]: 56: Hoare triple {38277#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38277#true} is VALID [2022-04-28 15:13:01,916 INFO L290 TraceCheckUtils]: 57: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-28 15:13:01,916 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {38277#true} {38278#false} #1248#return; {38278#false} is VALID [2022-04-28 15:13:01,916 INFO L290 TraceCheckUtils]: 59: Hoare triple {38278#false} #res := ~status~2; {38278#false} is VALID [2022-04-28 15:13:01,916 INFO L290 TraceCheckUtils]: 60: Hoare triple {38278#false} assume true; {38278#false} is VALID [2022-04-28 15:13:01,916 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {38278#false} {38277#true} #1234#return; {38278#false} is VALID [2022-04-28 15:13:01,916 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-28 15:13:01,916 INFO L290 TraceCheckUtils]: 63: Hoare triple {38278#false} assume 0 != ~we_should_unload~0; {38278#false} is VALID [2022-04-28 15:13:01,916 INFO L290 TraceCheckUtils]: 64: Hoare triple {38278#false} assume !(1 == ~pended~0); {38278#false} is VALID [2022-04-28 15:13:01,916 INFO L290 TraceCheckUtils]: 65: Hoare triple {38278#false} assume !(1 == ~pended~0); {38278#false} is VALID [2022-04-28 15:13:01,916 INFO L290 TraceCheckUtils]: 66: Hoare triple {38278#false} assume !(~s~0 == ~UNLOADED~0); {38278#false} is VALID [2022-04-28 15:13:01,916 INFO L290 TraceCheckUtils]: 67: Hoare triple {38278#false} assume !(-1 == ~status~5); {38278#false} is VALID [2022-04-28 15:13:01,916 INFO L290 TraceCheckUtils]: 68: Hoare triple {38278#false} assume ~s~0 != ~SKIP2~0; {38278#false} is VALID [2022-04-28 15:13:01,917 INFO L290 TraceCheckUtils]: 69: Hoare triple {38278#false} assume ~s~0 != ~IPC~0; {38278#false} is VALID [2022-04-28 15:13:01,917 INFO L290 TraceCheckUtils]: 70: Hoare triple {38278#false} assume !(~s~0 != ~DC~0); {38278#false} is VALID [2022-04-28 15:13:01,917 INFO L290 TraceCheckUtils]: 71: Hoare triple {38278#false} assume !(1 == ~pended~0); {38278#false} is VALID [2022-04-28 15:13:01,917 INFO L290 TraceCheckUtils]: 72: Hoare triple {38278#false} assume ~s~0 == ~DC~0; {38278#false} is VALID [2022-04-28 15:13:01,917 INFO L290 TraceCheckUtils]: 73: Hoare triple {38278#false} assume 259 == ~status~5; {38278#false} is VALID [2022-04-28 15:13:01,917 INFO L272 TraceCheckUtils]: 74: Hoare triple {38278#false} call errorFn(); {38278#false} is VALID [2022-04-28 15:13:01,917 INFO L290 TraceCheckUtils]: 75: Hoare triple {38278#false} assume !false; {38278#false} is VALID [2022-04-28 15:13:01,917 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-28 15:13:01,917 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:13:01,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [336688252] [2022-04-28 15:13:01,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [336688252] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:13:01,919 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:13:01,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:13:01,919 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:13:01,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [866398883] [2022-04-28 15:13:01,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [866398883] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:13:01,919 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:13:01,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:13:01,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [835649124] [2022-04-28 15:13:01,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:13:01,920 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-28 15:13:01,920 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:13:01,920 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-28 15:13:01,972 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-28 15:13:01,972 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 15:13:01,972 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:13:01,973 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 15:13:01,973 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-28 15:13:01,973 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-28 15:13:04,089 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-28 15:13:10,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:10,647 INFO L93 Difference]: Finished difference Result 378 states and 480 transitions. [2022-04-28 15:13:10,647 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 15:13:10,647 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-28 15:13:10,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:13:10,647 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-28 15:13:10,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 427 transitions. [2022-04-28 15:13:10,650 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-28 15:13:10,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 427 transitions. [2022-04-28 15:13:10,652 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 427 transitions. [2022-04-28 15:13:11,135 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-28 15:13:11,141 INFO L225 Difference]: With dead ends: 378 [2022-04-28 15:13:11,141 INFO L226 Difference]: Without dead ends: 355 [2022-04-28 15:13:11,141 INFO L412 NwaCegarLoop]: 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-28 15:13:11,142 INFO L413 NwaCegarLoop]: 274 mSDtfsCounter, 619 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 877 mSolverCounterSat, 213 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 15:13:11,142 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [622 Valid, 502 Invalid, 1091 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [213 Valid, 877 Invalid, 1 Unknown, 0 Unchecked, 4.2s Time] [2022-04-28 15:13:11,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 355 states. [2022-04-28 15:13:11,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 355 to 335. [2022-04-28 15:13:11,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:13:11,532 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-28 15:13:11,532 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-28 15:13:11,532 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-28 15:13:11,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:11,537 INFO L93 Difference]: Finished difference Result 355 states and 456 transitions. [2022-04-28 15:13:11,537 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 456 transitions. [2022-04-28 15:13:11,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:13:11,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:13:11,539 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-28 15:13:11,540 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-28 15:13:11,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:11,545 INFO L93 Difference]: Finished difference Result 355 states and 456 transitions. [2022-04-28 15:13:11,545 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 456 transitions. [2022-04-28 15:13:11,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:13:11,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:13:11,545 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:13:11,545 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:13:11,546 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-28 15:13:11,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 429 transitions. [2022-04-28 15:13:11,557 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 429 transitions. Word has length 76 [2022-04-28 15:13:11,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:13:11,557 INFO L495 AbstractCegarLoop]: Abstraction has 335 states and 429 transitions. [2022-04-28 15:13:11,558 INFO L496 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-28 15:13:11,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 335 states and 429 transitions. [2022-04-28 15:13:12,292 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-28 15:13:12,292 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 429 transitions. [2022-04-28 15:13:12,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-28 15:13:12,292 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:13:12,293 INFO L195 NwaCegarLoop]: 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-28 15:13:12,293 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2022-04-28 15:13:12,293 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:13:12,293 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:13:12,293 INFO L85 PathProgramCache]: Analyzing trace with hash 2131421, now seen corresponding path program 1 times [2022-04-28 15:13:12,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:13:12,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [917038156] [2022-04-28 15:13:12,293 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:13:12,294 INFO L85 PathProgramCache]: Analyzing trace with hash 2131421, now seen corresponding path program 2 times [2022-04-28 15:13:12,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:13:12,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [391012295] [2022-04-28 15:13:12,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:13:12,294 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:13:12,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,445 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:13:12,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,452 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-28 15:13:12,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,452 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40491#true} {40491#true} #1270#return; {40491#true} is VALID [2022-04-28 15:13:12,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:13:12,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,481 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-28 15:13:12,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,482 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40491#true} {40491#true} #1216#return; {40491#true} is VALID [2022-04-28 15:13:12,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:13:12,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:13:12,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,506 INFO L290 TraceCheckUtils]: 0: Hoare triple {40491#true} ~cond := #in~cond; {40491#true} is VALID [2022-04-28 15:13:12,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume !(0 == ~cond); {40491#true} is VALID [2022-04-28 15:13:12,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40491#true} {40491#true} #1254#return; {40491#true} is VALID [2022-04-28 15:13:12,508 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-28 15:13:12,508 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-28 15:13:12,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} ~cond := #in~cond; {40491#true} is VALID [2022-04-28 15:13:12,508 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} assume !(0 == ~cond); {40491#true} is VALID [2022-04-28 15:13:12,508 INFO L290 TraceCheckUtils]: 4: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,508 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {40491#true} {40491#true} #1254#return; {40491#true} is VALID [2022-04-28 15:13:12,508 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-28 15:13:12,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,508 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {40491#true} {40491#true} #1218#return; {40491#true} is VALID [2022-04-28 15:13:12,517 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:13:12,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:13:12,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,533 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-28 15:13:12,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume !(0 == ~__BLAST_NONDET~5); {40491#true} is VALID [2022-04-28 15:13:12,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} #res := -1073741823; {40491#true} is VALID [2022-04-28 15:13:12,533 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,533 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {40491#true} {40491#true} #1176#return; {40491#true} is VALID [2022-04-28 15:13:12,534 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-28 15:13:12,535 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-28 15:13:12,535 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-28 15:13:12,535 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} assume !(0 == ~__BLAST_NONDET~5); {40491#true} is VALID [2022-04-28 15:13:12,535 INFO L290 TraceCheckUtils]: 4: Hoare triple {40491#true} #res := -1073741823; {40491#true} is VALID [2022-04-28 15:13:12,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,535 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {40491#true} {40491#true} #1176#return; {40491#true} is VALID [2022-04-28 15:13:12,535 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-28 15:13:12,535 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-28 15:13:12,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40491#true} {40491#true} #1220#return; {40491#true} is VALID [2022-04-28 15:13:12,548 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:13:12,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,553 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-28 15:13:12,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,553 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40491#true} {40491#true} #1222#return; {40491#true} is VALID [2022-04-28 15:13:12,566 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 15:13:12,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:13:12,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:12,690 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-28 15:13:12,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume !(0 != ~compRegistered~0); {40491#true} is VALID [2022-04-28 15:13:12,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} assume 0 == ~__BLAST_NONDET~16; {40491#true} is VALID [2022-04-28 15:13:12,690 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-28 15:13:12,691 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-28 15:13:12,691 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-28 15:13:12,692 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-28 15:13:12,692 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-28 15:13:12,692 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-28 15:13:12,693 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-28 15:13:12,693 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-28 15:13:12,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {40491#true} is VALID [2022-04-28 15:13:12,693 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-28 15:13:12,693 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {40491#true} is VALID [2022-04-28 15:13:12,693 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-28 15:13:12,694 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-28 15:13:12,694 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-28 15:13:12,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {40491#true} assume !(0 != ~compRegistered~0); {40491#true} is VALID [2022-04-28 15:13:12,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {40491#true} assume 0 == ~__BLAST_NONDET~16; {40491#true} is VALID [2022-04-28 15:13:12,695 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-28 15:13:12,695 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-28 15:13:12,695 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-28 15:13:12,696 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-28 15:13:12,696 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-28 15:13:12,696 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-28 15:13:12,697 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-28 15:13:12,697 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-28 15:13:12,698 INFO L290 TraceCheckUtils]: 17: Hoare triple {40569#(= |KbFilter_Power_#res| 0)} assume true; {40569#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-28 15:13:12,698 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {40569#(= |KbFilter_Power_#res| 0)} {40491#true} #1232#return; {40541#(= 0 |main_#t~ret175|)} is VALID [2022-04-28 15:13:12,699 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-28 15:13:12,700 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-28 15:13:12,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,700 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40491#true} {40491#true} #1270#return; {40491#true} is VALID [2022-04-28 15:13:12,700 INFO L272 TraceCheckUtils]: 4: Hoare triple {40491#true} call #t~ret213 := main(); {40491#true} is VALID [2022-04-28 15:13:12,700 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-28 15:13:12,701 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-28 15:13:12,701 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-28 15:13:12,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,701 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {40491#true} {40491#true} #1216#return; {40491#true} is VALID [2022-04-28 15:13:12,701 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-28 15:13:12,702 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-28 15:13:12,702 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-28 15:13:12,702 INFO L290 TraceCheckUtils]: 13: Hoare triple {40491#true} ~cond := #in~cond; {40491#true} is VALID [2022-04-28 15:13:12,702 INFO L290 TraceCheckUtils]: 14: Hoare triple {40491#true} assume !(0 == ~cond); {40491#true} is VALID [2022-04-28 15:13:12,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,702 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {40491#true} {40491#true} #1254#return; {40491#true} is VALID [2022-04-28 15:13:12,702 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-28 15:13:12,702 INFO L290 TraceCheckUtils]: 18: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,702 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {40491#true} {40491#true} #1218#return; {40491#true} is VALID [2022-04-28 15:13:12,702 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-28 15:13:12,702 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-28 15:13:12,702 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-28 15:13:12,703 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-28 15:13:12,703 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-28 15:13:12,704 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-28 15:13:12,704 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-28 15:13:12,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {40491#true} assume !(0 == ~__BLAST_NONDET~5); {40491#true} is VALID [2022-04-28 15:13:12,704 INFO L290 TraceCheckUtils]: 28: Hoare triple {40491#true} #res := -1073741823; {40491#true} is VALID [2022-04-28 15:13:12,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,704 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {40491#true} {40491#true} #1176#return; {40491#true} is VALID [2022-04-28 15:13:12,705 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-28 15:13:12,705 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-28 15:13:12,705 INFO L290 TraceCheckUtils]: 33: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,705 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {40491#true} {40491#true} #1220#return; {40491#true} is VALID [2022-04-28 15:13:12,705 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-28 15:13:12,705 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-28 15:13:12,705 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-28 15:13:12,705 INFO L290 TraceCheckUtils]: 38: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-28 15:13:12,706 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {40491#true} {40491#true} #1222#return; {40491#true} is VALID [2022-04-28 15:13:12,706 INFO L290 TraceCheckUtils]: 40: Hoare triple {40491#true} assume !!(~status~5 >= 0); {40491#true} is VALID [2022-04-28 15:13:12,706 INFO L290 TraceCheckUtils]: 41: Hoare triple {40491#true} assume !(0 == ~__BLAST_NONDET~0); {40491#true} is VALID [2022-04-28 15:13:12,706 INFO L290 TraceCheckUtils]: 42: Hoare triple {40491#true} assume !(1 == ~__BLAST_NONDET~0); {40491#true} is VALID [2022-04-28 15:13:12,706 INFO L290 TraceCheckUtils]: 43: Hoare triple {40491#true} assume !(2 == ~__BLAST_NONDET~0); {40491#true} is VALID [2022-04-28 15:13:12,706 INFO L290 TraceCheckUtils]: 44: Hoare triple {40491#true} assume !(3 == ~__BLAST_NONDET~0); {40491#true} is VALID [2022-04-28 15:13:12,706 INFO L290 TraceCheckUtils]: 45: Hoare triple {40491#true} assume 4 == ~__BLAST_NONDET~0; {40491#true} is VALID [2022-04-28 15:13:12,707 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-28 15:13:12,707 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-28 15:13:12,707 INFO L290 TraceCheckUtils]: 48: Hoare triple {40491#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {40491#true} is VALID [2022-04-28 15:13:12,707 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-28 15:13:12,707 INFO L290 TraceCheckUtils]: 50: Hoare triple {40491#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {40491#true} is VALID [2022-04-28 15:13:12,707 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-28 15:13:12,708 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-28 15:13:12,708 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-28 15:13:12,708 INFO L290 TraceCheckUtils]: 54: Hoare triple {40491#true} assume !(0 != ~compRegistered~0); {40491#true} is VALID [2022-04-28 15:13:12,708 INFO L290 TraceCheckUtils]: 55: Hoare triple {40491#true} assume 0 == ~__BLAST_NONDET~16; {40491#true} is VALID [2022-04-28 15:13:12,708 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-28 15:13:12,709 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-28 15:13:12,709 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-28 15:13:12,709 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-28 15:13:12,710 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-28 15:13:12,710 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-28 15:13:12,711 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-28 15:13:12,711 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-28 15:13:12,711 INFO L290 TraceCheckUtils]: 64: Hoare triple {40569#(= |KbFilter_Power_#res| 0)} assume true; {40569#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-28 15:13:12,712 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {40569#(= |KbFilter_Power_#res| 0)} {40491#true} #1232#return; {40541#(= 0 |main_#t~ret175|)} is VALID [2022-04-28 15:13:12,712 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-28 15:13:12,712 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-28 15:13:12,713 INFO L290 TraceCheckUtils]: 68: Hoare triple {40542#(= main_~status~5 0)} assume !(1 == ~pended~0); {40542#(= main_~status~5 0)} is VALID [2022-04-28 15:13:12,713 INFO L290 TraceCheckUtils]: 69: Hoare triple {40542#(= main_~status~5 0)} assume !(1 == ~pended~0); {40542#(= main_~status~5 0)} is VALID [2022-04-28 15:13:12,713 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-28 15:13:12,713 INFO L290 TraceCheckUtils]: 71: Hoare triple {40542#(= main_~status~5 0)} assume !(-1 == ~status~5); {40542#(= main_~status~5 0)} is VALID [2022-04-28 15:13:12,714 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-28 15:13:12,714 INFO L290 TraceCheckUtils]: 73: Hoare triple {40542#(= main_~status~5 0)} assume !(1 == ~pended~0); {40542#(= main_~status~5 0)} is VALID [2022-04-28 15:13:12,714 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-28 15:13:12,714 INFO L290 TraceCheckUtils]: 75: Hoare triple {40542#(= main_~status~5 0)} assume 259 == ~status~5; {40492#false} is VALID [2022-04-28 15:13:12,714 INFO L272 TraceCheckUtils]: 76: Hoare triple {40492#false} call errorFn(); {40492#false} is VALID [2022-04-28 15:13:12,714 INFO L290 TraceCheckUtils]: 77: Hoare triple {40492#false} assume !false; {40492#false} is VALID [2022-04-28 15:13:12,715 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-28 15:13:12,715 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:13:12,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [391012295] [2022-04-28 15:13:12,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [391012295] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:13:12,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:13:12,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 15:13:12,715 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:13:12,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [917038156] [2022-04-28 15:13:12,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [917038156] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:13:12,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:13:12,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 15:13:12,717 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [246811118] [2022-04-28 15:13:12,717 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:13:12,718 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-28 15:13:12,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:13:12,718 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-28 15:13:12,784 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-28 15:13:12,785 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 15:13:12,785 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:13:12,785 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 15:13:12,785 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=173, Unknown=0, NotChecked=0, Total=210 [2022-04-28 15:13:12,785 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-28 15:13:14,924 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-28 15:13:30,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:30,414 INFO L93 Difference]: Finished difference Result 398 states and 505 transitions. [2022-04-28 15:13:30,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 15:13:30,414 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-28 15:13:30,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:13:30,414 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-28 15:13:30,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 444 transitions. [2022-04-28 15:13:30,417 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-28 15:13:30,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 444 transitions. [2022-04-28 15:13:30,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 444 transitions. [2022-04-28 15:13:30,887 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-28 15:13:30,893 INFO L225 Difference]: With dead ends: 398 [2022-04-28 15:13:30,893 INFO L226 Difference]: Without dead ends: 354 [2022-04-28 15:13:30,893 INFO L412 NwaCegarLoop]: 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-28 15:13:30,893 INFO L413 NwaCegarLoop]: 270 mSDtfsCounter, 913 mSDsluCounter, 597 mSDsCounter, 0 mSdLazyCounter, 2053 mSolverCounterSat, 327 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-28 15:13:30,894 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [917 Valid, 867 Invalid, 2381 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [327 Valid, 2053 Invalid, 1 Unknown, 0 Unchecked, 8.9s Time] [2022-04-28 15:13:30,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 354 states. [2022-04-28 15:13:31,275 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 354 to 334. [2022-04-28 15:13:31,275 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:13:31,276 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-28 15:13:31,276 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-28 15:13:31,276 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-28 15:13:31,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:31,281 INFO L93 Difference]: Finished difference Result 354 states and 454 transitions. [2022-04-28 15:13:31,281 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 454 transitions. [2022-04-28 15:13:31,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:13:31,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:13:31,282 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-28 15:13:31,282 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-28 15:13:31,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:31,287 INFO L93 Difference]: Finished difference Result 354 states and 454 transitions. [2022-04-28 15:13:31,287 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 454 transitions. [2022-04-28 15:13:31,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:13:31,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:13:31,288 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:13:31,288 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:13:31,288 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-28 15:13:31,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 334 states to 334 states and 427 transitions. [2022-04-28 15:13:31,294 INFO L78 Accepts]: Start accepts. Automaton has 334 states and 427 transitions. Word has length 78 [2022-04-28 15:13:31,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:13:31,294 INFO L495 AbstractCegarLoop]: Abstraction has 334 states and 427 transitions. [2022-04-28 15:13:31,294 INFO L496 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-28 15:13:31,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 334 states and 427 transitions. [2022-04-28 15:13:31,997 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-28 15:13:31,997 INFO L276 IsEmpty]: Start isEmpty. Operand 334 states and 427 transitions. [2022-04-28 15:13:31,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 15:13:31,998 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:13:31,999 INFO L195 NwaCegarLoop]: 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-28 15:13:31,999 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2022-04-28 15:13:31,999 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:13:31,999 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:13:31,999 INFO L85 PathProgramCache]: Analyzing trace with hash -1889602735, now seen corresponding path program 1 times [2022-04-28 15:13:32,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:13:32,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1036037911] [2022-04-28 15:13:32,000 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:13:32,000 INFO L85 PathProgramCache]: Analyzing trace with hash -1889602735, now seen corresponding path program 2 times [2022-04-28 15:13:32,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:13:32,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1782020017] [2022-04-28 15:13:32,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:13:32,000 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:13:32,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,161 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:13:32,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,169 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-28 15:13:32,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,169 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42759#true} {42759#true} #1270#return; {42759#true} is VALID [2022-04-28 15:13:32,190 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:13:32,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,198 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-28 15:13:32,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,198 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42759#true} {42759#true} #1216#return; {42759#true} is VALID [2022-04-28 15:13:32,206 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:13:32,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:13:32,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {42759#true} ~cond := #in~cond; {42759#true} is VALID [2022-04-28 15:13:32,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume !(0 == ~cond); {42759#true} is VALID [2022-04-28 15:13:32,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42759#true} {42759#true} #1254#return; {42759#true} is VALID [2022-04-28 15:13:32,227 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-28 15:13:32,227 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-28 15:13:32,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} ~cond := #in~cond; {42759#true} is VALID [2022-04-28 15:13:32,227 INFO L290 TraceCheckUtils]: 3: Hoare triple {42759#true} assume !(0 == ~cond); {42759#true} is VALID [2022-04-28 15:13:32,227 INFO L290 TraceCheckUtils]: 4: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,227 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {42759#true} {42759#true} #1254#return; {42759#true} is VALID [2022-04-28 15:13:32,227 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-28 15:13:32,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,227 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {42759#true} {42759#true} #1218#return; {42759#true} is VALID [2022-04-28 15:13:32,236 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:13:32,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,244 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:13:32,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,250 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-28 15:13:32,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume !(0 == ~__BLAST_NONDET~5); {42759#true} is VALID [2022-04-28 15:13:32,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} #res := -1073741823; {42759#true} is VALID [2022-04-28 15:13:32,250 INFO L290 TraceCheckUtils]: 3: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,250 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {42759#true} {42759#true} #1176#return; {42759#true} is VALID [2022-04-28 15:13:32,250 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-28 15:13:32,252 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-28 15:13:32,252 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-28 15:13:32,252 INFO L290 TraceCheckUtils]: 3: Hoare triple {42759#true} assume !(0 == ~__BLAST_NONDET~5); {42759#true} is VALID [2022-04-28 15:13:32,252 INFO L290 TraceCheckUtils]: 4: Hoare triple {42759#true} #res := -1073741823; {42759#true} is VALID [2022-04-28 15:13:32,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,252 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {42759#true} {42759#true} #1176#return; {42759#true} is VALID [2022-04-28 15:13:32,252 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-28 15:13:32,252 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-28 15:13:32,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42759#true} {42759#true} #1220#return; {42759#true} is VALID [2022-04-28 15:13:32,264 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:13:32,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,271 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-28 15:13:32,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,272 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42759#true} {42759#true} #1222#return; {42759#true} is VALID [2022-04-28 15:13:32,291 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 45 [2022-04-28 15:13:32,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,348 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:13:32,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:32,403 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-28 15:13:32,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume !(0 != ~compRegistered~0); {42759#true} is VALID [2022-04-28 15:13:32,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} assume 0 == ~__BLAST_NONDET~11; {42759#true} is VALID [2022-04-28 15:13:32,404 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-28 15:13:32,404 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-28 15:13:32,405 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-28 15:13:32,405 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-28 15:13:32,406 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-28 15:13:32,406 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-28 15:13:32,407 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-28 15:13:32,407 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-28 15:13:32,407 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-28 15:13:32,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} assume 23 == #t~mem82 % 256;havoc #t~mem82; {42759#true} is VALID [2022-04-28 15:13:32,408 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-28 15:13:32,408 INFO L290 TraceCheckUtils]: 4: Hoare triple {42759#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {42759#true} is VALID [2022-04-28 15:13:32,409 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-28 15:13:32,410 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-28 15:13:32,410 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-28 15:13:32,410 INFO L290 TraceCheckUtils]: 8: Hoare triple {42759#true} assume !(0 != ~compRegistered~0); {42759#true} is VALID [2022-04-28 15:13:32,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {42759#true} assume 0 == ~__BLAST_NONDET~11; {42759#true} is VALID [2022-04-28 15:13:32,410 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-28 15:13:32,410 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-28 15:13:32,411 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-28 15:13:32,411 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-28 15:13:32,412 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-28 15:13:32,412 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-28 15:13:32,413 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-28 15:13:32,413 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-28 15:13:32,414 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-28 15:13:32,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {42840#(= |KbFilter_PnP_#res| 0)} assume true; {42840#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-28 15:13:32,415 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {42840#(= |KbFilter_PnP_#res| 0)} {42759#true} #1230#return; {42811#(= 0 |main_#t~ret174|)} is VALID [2022-04-28 15:13:32,416 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-28 15:13:32,416 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-28 15:13:32,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,416 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42759#true} {42759#true} #1270#return; {42759#true} is VALID [2022-04-28 15:13:32,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {42759#true} call #t~ret213 := main(); {42759#true} is VALID [2022-04-28 15:13:32,417 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-28 15:13:32,418 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-28 15:13:32,418 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-28 15:13:32,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,418 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {42759#true} {42759#true} #1216#return; {42759#true} is VALID [2022-04-28 15:13:32,419 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-28 15:13:32,419 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-28 15:13:32,419 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-28 15:13:32,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {42759#true} ~cond := #in~cond; {42759#true} is VALID [2022-04-28 15:13:32,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {42759#true} assume !(0 == ~cond); {42759#true} is VALID [2022-04-28 15:13:32,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,419 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42759#true} {42759#true} #1254#return; {42759#true} is VALID [2022-04-28 15:13:32,419 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-28 15:13:32,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,419 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {42759#true} {42759#true} #1218#return; {42759#true} is VALID [2022-04-28 15:13:32,419 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-28 15:13:32,419 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-28 15:13:32,420 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-28 15:13:32,421 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-28 15:13:32,421 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-28 15:13:32,422 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-28 15:13:32,422 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-28 15:13:32,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {42759#true} assume !(0 == ~__BLAST_NONDET~5); {42759#true} is VALID [2022-04-28 15:13:32,422 INFO L290 TraceCheckUtils]: 28: Hoare triple {42759#true} #res := -1073741823; {42759#true} is VALID [2022-04-28 15:13:32,422 INFO L290 TraceCheckUtils]: 29: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,422 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {42759#true} {42759#true} #1176#return; {42759#true} is VALID [2022-04-28 15:13:32,422 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-28 15:13:32,422 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-28 15:13:32,422 INFO L290 TraceCheckUtils]: 33: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,422 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {42759#true} {42759#true} #1220#return; {42759#true} is VALID [2022-04-28 15:13:32,423 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-28 15:13:32,423 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-28 15:13:32,423 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-28 15:13:32,423 INFO L290 TraceCheckUtils]: 38: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-28 15:13:32,423 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {42759#true} {42759#true} #1222#return; {42759#true} is VALID [2022-04-28 15:13:32,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {42759#true} assume !!(~status~5 >= 0); {42759#true} is VALID [2022-04-28 15:13:32,424 INFO L290 TraceCheckUtils]: 41: Hoare triple {42759#true} assume !(0 == ~__BLAST_NONDET~0); {42759#true} is VALID [2022-04-28 15:13:32,424 INFO L290 TraceCheckUtils]: 42: Hoare triple {42759#true} assume !(1 == ~__BLAST_NONDET~0); {42759#true} is VALID [2022-04-28 15:13:32,424 INFO L290 TraceCheckUtils]: 43: Hoare triple {42759#true} assume !(2 == ~__BLAST_NONDET~0); {42759#true} is VALID [2022-04-28 15:13:32,424 INFO L290 TraceCheckUtils]: 44: Hoare triple {42759#true} assume 3 == ~__BLAST_NONDET~0; {42759#true} is VALID [2022-04-28 15:13:32,425 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-28 15:13:32,425 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-28 15:13:32,425 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-28 15:13:32,425 INFO L290 TraceCheckUtils]: 48: Hoare triple {42759#true} assume 23 == #t~mem82 % 256;havoc #t~mem82; {42759#true} is VALID [2022-04-28 15:13:32,425 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-28 15:13:32,425 INFO L290 TraceCheckUtils]: 50: Hoare triple {42759#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {42759#true} is VALID [2022-04-28 15:13:32,426 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-28 15:13:32,426 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-28 15:13:32,426 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-28 15:13:32,426 INFO L290 TraceCheckUtils]: 54: Hoare triple {42759#true} assume !(0 != ~compRegistered~0); {42759#true} is VALID [2022-04-28 15:13:32,426 INFO L290 TraceCheckUtils]: 55: Hoare triple {42759#true} assume 0 == ~__BLAST_NONDET~11; {42759#true} is VALID [2022-04-28 15:13:32,427 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-28 15:13:32,427 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-28 15:13:32,427 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-28 15:13:32,428 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-28 15:13:32,428 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-28 15:13:32,428 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-28 15:13:32,429 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-28 15:13:32,430 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-28 15:13:32,430 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-28 15:13:32,430 INFO L290 TraceCheckUtils]: 65: Hoare triple {42840#(= |KbFilter_PnP_#res| 0)} assume true; {42840#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-28 15:13:32,431 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {42840#(= |KbFilter_PnP_#res| 0)} {42759#true} #1230#return; {42811#(= 0 |main_#t~ret174|)} is VALID [2022-04-28 15:13:32,431 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-28 15:13:32,431 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-28 15:13:32,432 INFO L290 TraceCheckUtils]: 69: Hoare triple {42812#(= main_~status~5 0)} assume !(1 == ~pended~0); {42812#(= main_~status~5 0)} is VALID [2022-04-28 15:13:32,432 INFO L290 TraceCheckUtils]: 70: Hoare triple {42812#(= main_~status~5 0)} assume !(1 == ~pended~0); {42812#(= main_~status~5 0)} is VALID [2022-04-28 15:13:32,432 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-28 15:13:32,432 INFO L290 TraceCheckUtils]: 72: Hoare triple {42812#(= main_~status~5 0)} assume !(-1 == ~status~5); {42812#(= main_~status~5 0)} is VALID [2022-04-28 15:13:32,433 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-28 15:13:32,433 INFO L290 TraceCheckUtils]: 74: Hoare triple {42812#(= main_~status~5 0)} assume !(1 == ~pended~0); {42812#(= main_~status~5 0)} is VALID [2022-04-28 15:13:32,433 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-28 15:13:32,433 INFO L290 TraceCheckUtils]: 76: Hoare triple {42812#(= main_~status~5 0)} assume 259 == ~status~5; {42760#false} is VALID [2022-04-28 15:13:32,434 INFO L272 TraceCheckUtils]: 77: Hoare triple {42760#false} call errorFn(); {42760#false} is VALID [2022-04-28 15:13:32,434 INFO L290 TraceCheckUtils]: 78: Hoare triple {42760#false} assume !false; {42760#false} is VALID [2022-04-28 15:13:32,434 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-28 15:13:32,434 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:13:32,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1782020017] [2022-04-28 15:13:32,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1782020017] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:13:32,434 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:13:32,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 15:13:32,434 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:13:32,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1036037911] [2022-04-28 15:13:32,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1036037911] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:13:32,435 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:13:32,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 15:13:32,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1629726202] [2022-04-28 15:13:32,435 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:13:32,435 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-28 15:13:32,435 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:13:32,435 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-28 15:13:32,500 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-28 15:13:32,500 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 15:13:32,500 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:13:32,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 15:13:32,500 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-04-28 15:13:32,501 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-28 15:13:34,647 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-28 15:13:50,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:50,621 INFO L93 Difference]: Finished difference Result 475 states and 607 transitions. [2022-04-28 15:13:50,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 15:13:50,622 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-28 15:13:50,622 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:13:50,622 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-28 15:13:50,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 510 transitions. [2022-04-28 15:13:50,625 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-28 15:13:50,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 510 transitions. [2022-04-28 15:13:50,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 510 transitions. [2022-04-28 15:13:51,185 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-28 15:13:51,202 INFO L225 Difference]: With dead ends: 475 [2022-04-28 15:13:51,202 INFO L226 Difference]: Without dead ends: 367 [2022-04-28 15:13:51,203 INFO L412 NwaCegarLoop]: 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-28 15:13:51,203 INFO L413 NwaCegarLoop]: 267 mSDtfsCounter, 530 mSDsluCounter, 687 mSDsCounter, 0 mSdLazyCounter, 2647 mSolverCounterSat, 186 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.5s 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, 8.6s IncrementalHoareTripleChecker+Time [2022-04-28 15:13:51,204 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [540 Valid, 954 Invalid, 2834 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [186 Valid, 2647 Invalid, 1 Unknown, 0 Unchecked, 8.6s Time] [2022-04-28 15:13:51,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 367 states. [2022-04-28 15:13:51,663 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 367 to 338. [2022-04-28 15:13:51,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:13:51,663 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-28 15:13:51,664 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-28 15:13:51,664 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-28 15:13:51,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:51,669 INFO L93 Difference]: Finished difference Result 367 states and 469 transitions. [2022-04-28 15:13:51,669 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 469 transitions. [2022-04-28 15:13:51,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:13:51,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:13:51,670 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-28 15:13:51,670 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-28 15:13:51,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:13:51,675 INFO L93 Difference]: Finished difference Result 367 states and 469 transitions. [2022-04-28 15:13:51,675 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 469 transitions. [2022-04-28 15:13:51,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:13:51,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:13:51,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:13:51,676 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:13:51,676 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-28 15:13:51,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 338 states to 338 states and 432 transitions. [2022-04-28 15:13:51,681 INFO L78 Accepts]: Start accepts. Automaton has 338 states and 432 transitions. Word has length 79 [2022-04-28 15:13:51,682 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:13:51,682 INFO L495 AbstractCegarLoop]: Abstraction has 338 states and 432 transitions. [2022-04-28 15:13:51,682 INFO L496 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-28 15:13:51,682 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 338 states and 432 transitions. [2022-04-28 15:13:52,426 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-28 15:13:52,426 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 432 transitions. [2022-04-28 15:13:52,427 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 15:13:52,427 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:13:52,427 INFO L195 NwaCegarLoop]: 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-28 15:13:52,427 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2022-04-28 15:13:52,427 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:13:52,434 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:13:52,434 INFO L85 PathProgramCache]: Analyzing trace with hash -2045108737, now seen corresponding path program 1 times [2022-04-28 15:13:52,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:13:52,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2031201432] [2022-04-28 15:13:52,434 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:13:52,434 INFO L85 PathProgramCache]: Analyzing trace with hash -2045108737, now seen corresponding path program 2 times [2022-04-28 15:13:52,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:13:52,435 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [242759668] [2022-04-28 15:13:52,435 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:13:52,435 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:13:52,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,618 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:13:52,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,624 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-28 15:13:52,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,624 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45232#true} {45232#true} #1270#return; {45232#true} is VALID [2022-04-28 15:13:52,646 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:13:52,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,657 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-28 15:13:52,658 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-28 15:13:52,658 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-28 15:13:52,669 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:13:52,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,685 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:13:52,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {45232#true} ~cond := #in~cond; {45232#true} is VALID [2022-04-28 15:13:52,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume !(0 == ~cond); {45232#true} is VALID [2022-04-28 15:13:52,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45232#true} {45232#true} #1254#return; {45232#true} is VALID [2022-04-28 15:13:52,690 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-28 15:13:52,690 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-28 15:13:52,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} ~cond := #in~cond; {45232#true} is VALID [2022-04-28 15:13:52,690 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume !(0 == ~cond); {45232#true} is VALID [2022-04-28 15:13:52,690 INFO L290 TraceCheckUtils]: 4: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,690 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {45232#true} {45232#true} #1254#return; {45232#true} is VALID [2022-04-28 15:13:52,690 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-28 15:13:52,690 INFO L290 TraceCheckUtils]: 7: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,691 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-28 15:13:52,701 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:13:52,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,711 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:13:52,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,716 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-28 15:13:52,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~5); {45232#true} is VALID [2022-04-28 15:13:52,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} #res := -1073741823; {45232#true} is VALID [2022-04-28 15:13:52,717 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,717 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {45232#true} {45232#true} #1176#return; {45232#true} is VALID [2022-04-28 15:13:52,717 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-28 15:13:52,718 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-28 15:13:52,718 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-28 15:13:52,718 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~5); {45232#true} is VALID [2022-04-28 15:13:52,718 INFO L290 TraceCheckUtils]: 4: Hoare triple {45232#true} #res := -1073741823; {45232#true} is VALID [2022-04-28 15:13:52,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,719 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {45232#true} {45232#true} #1176#return; {45232#true} is VALID [2022-04-28 15:13:52,719 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-28 15:13:52,719 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-28 15:13:52,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,719 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-28 15:13:52,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:13:52,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,740 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-28 15:13:52,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,740 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-28 15:13:52,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 15:13:52,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,793 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:13:52,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:13:52,804 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-28 15:13:52,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume !(0 != ~compRegistered~0); {45232#true} is VALID [2022-04-28 15:13:52,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~16); {45232#true} is VALID [2022-04-28 15:13:52,805 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume 1 == ~__BLAST_NONDET~16; {45232#true} is VALID [2022-04-28 15:13:52,805 INFO L290 TraceCheckUtils]: 4: Hoare triple {45232#true} ~returnVal~0 := -1073741823; {45232#true} is VALID [2022-04-28 15:13:52,805 INFO L290 TraceCheckUtils]: 5: Hoare triple {45232#true} assume !(~s~0 == ~NP~0); {45232#true} is VALID [2022-04-28 15:13:52,805 INFO L290 TraceCheckUtils]: 6: Hoare triple {45232#true} assume !(~s~0 == ~MPR1~0); {45232#true} is VALID [2022-04-28 15:13:52,805 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-28 15:13:52,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,807 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45311#(<= ~SKIP2~0 ~s~0)} {45232#true} #1268#return; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,808 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-28 15:13:52,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {45232#true} is VALID [2022-04-28 15:13:52,808 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-28 15:13:52,808 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {45232#true} is VALID [2022-04-28 15:13:52,808 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-28 15:13:52,809 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-28 15:13:52,809 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-28 15:13:52,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {45232#true} assume !(0 != ~compRegistered~0); {45232#true} is VALID [2022-04-28 15:13:52,809 INFO L290 TraceCheckUtils]: 8: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~16); {45232#true} is VALID [2022-04-28 15:13:52,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {45232#true} assume 1 == ~__BLAST_NONDET~16; {45232#true} is VALID [2022-04-28 15:13:52,809 INFO L290 TraceCheckUtils]: 10: Hoare triple {45232#true} ~returnVal~0 := -1073741823; {45232#true} is VALID [2022-04-28 15:13:52,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {45232#true} assume !(~s~0 == ~NP~0); {45232#true} is VALID [2022-04-28 15:13:52,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {45232#true} assume !(~s~0 == ~MPR1~0); {45232#true} is VALID [2022-04-28 15:13:52,809 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-28 15:13:52,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,811 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {45311#(<= ~SKIP2~0 ~s~0)} {45232#true} #1268#return; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,811 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-28 15:13:52,811 INFO L290 TraceCheckUtils]: 18: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,812 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-28 15:13:52,813 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-28 15:13:52,813 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-28 15:13:52,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45232#true} {45232#true} #1270#return; {45232#true} is VALID [2022-04-28 15:13:52,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {45232#true} call #t~ret213 := main(); {45232#true} is VALID [2022-04-28 15:13:52,814 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-28 15:13:52,815 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-28 15:13:52,815 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-28 15:13:52,815 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-28 15:13:52,816 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-28 15:13:52,817 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-28 15:13:52,817 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-28 15:13:52,817 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-28 15:13:52,817 INFO L290 TraceCheckUtils]: 13: Hoare triple {45232#true} ~cond := #in~cond; {45232#true} is VALID [2022-04-28 15:13:52,817 INFO L290 TraceCheckUtils]: 14: Hoare triple {45232#true} assume !(0 == ~cond); {45232#true} is VALID [2022-04-28 15:13:52,817 INFO L290 TraceCheckUtils]: 15: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,817 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {45232#true} {45232#true} #1254#return; {45232#true} is VALID [2022-04-28 15:13:52,817 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-28 15:13:52,817 INFO L290 TraceCheckUtils]: 18: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,818 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-28 15:13:52,818 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-28 15:13:52,819 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-28 15:13:52,819 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-28 15:13:52,820 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-28 15:13:52,820 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-28 15:13:52,821 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-28 15:13:52,821 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-28 15:13:52,822 INFO L290 TraceCheckUtils]: 27: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~5); {45232#true} is VALID [2022-04-28 15:13:52,822 INFO L290 TraceCheckUtils]: 28: Hoare triple {45232#true} #res := -1073741823; {45232#true} is VALID [2022-04-28 15:13:52,822 INFO L290 TraceCheckUtils]: 29: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,822 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {45232#true} {45232#true} #1176#return; {45232#true} is VALID [2022-04-28 15:13:52,822 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-28 15:13:52,822 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-28 15:13:52,822 INFO L290 TraceCheckUtils]: 33: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,823 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-28 15:13:52,823 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-28 15:13:52,824 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-28 15:13:52,824 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-28 15:13:52,824 INFO L290 TraceCheckUtils]: 38: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-28 15:13:52,824 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-28 15:13:52,824 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-28 15:13:52,825 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-28 15:13:52,825 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-28 15:13:52,825 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-28 15:13:52,826 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-28 15:13:52,826 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-28 15:13:52,827 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-28 15:13:52,827 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-28 15:13:52,827 INFO L290 TraceCheckUtils]: 48: Hoare triple {45232#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {45232#true} is VALID [2022-04-28 15:13:52,827 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-28 15:13:52,827 INFO L290 TraceCheckUtils]: 50: Hoare triple {45232#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {45232#true} is VALID [2022-04-28 15:13:52,827 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-28 15:13:52,828 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-28 15:13:52,828 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-28 15:13:52,828 INFO L290 TraceCheckUtils]: 54: Hoare triple {45232#true} assume !(0 != ~compRegistered~0); {45232#true} is VALID [2022-04-28 15:13:52,828 INFO L290 TraceCheckUtils]: 55: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~16); {45232#true} is VALID [2022-04-28 15:13:52,829 INFO L290 TraceCheckUtils]: 56: Hoare triple {45232#true} assume 1 == ~__BLAST_NONDET~16; {45232#true} is VALID [2022-04-28 15:13:52,829 INFO L290 TraceCheckUtils]: 57: Hoare triple {45232#true} ~returnVal~0 := -1073741823; {45232#true} is VALID [2022-04-28 15:13:52,829 INFO L290 TraceCheckUtils]: 58: Hoare triple {45232#true} assume !(~s~0 == ~NP~0); {45232#true} is VALID [2022-04-28 15:13:52,829 INFO L290 TraceCheckUtils]: 59: Hoare triple {45232#true} assume !(~s~0 == ~MPR1~0); {45232#true} is VALID [2022-04-28 15:13:52,829 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-28 15:13:52,829 INFO L290 TraceCheckUtils]: 61: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,830 INFO L290 TraceCheckUtils]: 62: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,830 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {45311#(<= ~SKIP2~0 ~s~0)} {45232#true} #1268#return; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,831 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-28 15:13:52,831 INFO L290 TraceCheckUtils]: 65: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-28 15:13:52,832 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-28 15:13:52,832 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-28 15:13:52,832 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-28 15:13:52,833 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-28 15:13:52,833 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-28 15:13:52,833 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-28 15:13:52,834 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-28 15:13:52,834 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-28 15:13:52,834 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-28 15:13:52,835 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-28 15:13:52,835 INFO L290 TraceCheckUtils]: 76: Hoare triple {45233#false} assume 259 == ~status~5; {45233#false} is VALID [2022-04-28 15:13:52,835 INFO L272 TraceCheckUtils]: 77: Hoare triple {45233#false} call errorFn(); {45233#false} is VALID [2022-04-28 15:13:52,835 INFO L290 TraceCheckUtils]: 78: Hoare triple {45233#false} assume !false; {45233#false} is VALID [2022-04-28 15:13:52,835 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-28 15:13:52,835 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:13:52,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [242759668] [2022-04-28 15:13:52,835 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [242759668] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:13:52,836 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:13:52,836 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 15:13:52,836 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:13:52,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2031201432] [2022-04-28 15:13:52,836 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2031201432] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:13:52,836 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:13:52,836 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 15:13:52,836 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1499437258] [2022-04-28 15:13:52,836 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:13:52,836 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-28 15:13:52,837 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:13:52,837 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-28 15:13:52,903 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-28 15:13:52,903 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 15:13:52,903 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:13:52,904 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 15:13:52,904 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-28 15:13:52,904 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-28 15:13:55,087 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-28 15:14:05,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:05,911 INFO L93 Difference]: Finished difference Result 429 states and 546 transitions. [2022-04-28 15:14:05,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 15:14:05,912 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-28 15:14:05,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:14:05,912 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-28 15:14:05,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 471 transitions. [2022-04-28 15:14:05,915 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-28 15:14:05,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 471 transitions. [2022-04-28 15:14:05,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 471 transitions. [2022-04-28 15:14:06,503 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-28 15:14:06,514 INFO L225 Difference]: With dead ends: 429 [2022-04-28 15:14:06,514 INFO L226 Difference]: Without dead ends: 376 [2022-04-28 15:14:06,515 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 18 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 148 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=210, Invalid=602, Unknown=0, NotChecked=0, Total=812 [2022-04-28 15:14:06,516 INFO L413 NwaCegarLoop]: 275 mSDtfsCounter, 983 mSDsluCounter, 291 mSDsCounter, 0 mSdLazyCounter, 1337 mSolverCounterSat, 310 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 998 SdHoareTripleChecker+Valid, 566 SdHoareTripleChecker+Invalid, 1648 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 310 IncrementalHoareTripleChecker+Valid, 1337 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.6s IncrementalHoareTripleChecker+Time [2022-04-28 15:14:06,517 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [998 Valid, 566 Invalid, 1648 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [310 Valid, 1337 Invalid, 1 Unknown, 0 Unchecked, 5.6s Time] [2022-04-28 15:14:06,517 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 376 states. [2022-04-28 15:14:07,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 376 to 329. [2022-04-28 15:14:07,071 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:14:07,072 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-28 15:14:07,072 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-28 15:14:07,072 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-28 15:14:07,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:07,078 INFO L93 Difference]: Finished difference Result 376 states and 482 transitions. [2022-04-28 15:14:07,078 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 482 transitions. [2022-04-28 15:14:07,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:07,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:07,079 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-28 15:14:07,079 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-28 15:14:07,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:07,084 INFO L93 Difference]: Finished difference Result 376 states and 482 transitions. [2022-04-28 15:14:07,085 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 482 transitions. [2022-04-28 15:14:07,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:07,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:07,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:14:07,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:14:07,087 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-28 15:14:07,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 329 states to 329 states and 418 transitions. [2022-04-28 15:14:07,099 INFO L78 Accepts]: Start accepts. Automaton has 329 states and 418 transitions. Word has length 79 [2022-04-28 15:14:07,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:14:07,099 INFO L495 AbstractCegarLoop]: Abstraction has 329 states and 418 transitions. [2022-04-28 15:14:07,099 INFO L496 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-28 15:14:07,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 329 states and 418 transitions. [2022-04-28 15:14:07,812 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-28 15:14:07,813 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 418 transitions. [2022-04-28 15:14:07,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-28 15:14:07,813 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:14:07,813 INFO L195 NwaCegarLoop]: 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-28 15:14:07,814 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2022-04-28 15:14:07,814 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:14:07,814 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:14:07,814 INFO L85 PathProgramCache]: Analyzing trace with hash -1773831806, now seen corresponding path program 1 times [2022-04-28 15:14:07,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:07,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2020079706] [2022-04-28 15:14:07,814 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:14:07,814 INFO L85 PathProgramCache]: Analyzing trace with hash -1773831806, now seen corresponding path program 2 times [2022-04-28 15:14:07,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:14:07,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1672564356] [2022-04-28 15:14:07,815 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:14:07,815 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:14:07,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:07,967 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:14:07,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:07,974 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-28 15:14:07,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:07,975 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47622#true} {47622#true} #1270#return; {47622#true} is VALID [2022-04-28 15:14:08,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:14:08,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,006 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-28 15:14:08,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,006 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47622#true} {47622#true} #1216#return; {47622#true} is VALID [2022-04-28 15:14:08,012 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:14:08,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,024 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:08,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {47622#true} ~cond := #in~cond; {47622#true} is VALID [2022-04-28 15:14:08,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume !(0 == ~cond); {47622#true} is VALID [2022-04-28 15:14:08,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47622#true} {47622#true} #1254#return; {47622#true} is VALID [2022-04-28 15:14:08,029 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-28 15:14:08,029 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-28 15:14:08,029 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} ~cond := #in~cond; {47622#true} is VALID [2022-04-28 15:14:08,029 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume !(0 == ~cond); {47622#true} is VALID [2022-04-28 15:14:08,029 INFO L290 TraceCheckUtils]: 4: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,029 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {47622#true} {47622#true} #1254#return; {47622#true} is VALID [2022-04-28 15:14:08,029 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-28 15:14:08,029 INFO L290 TraceCheckUtils]: 7: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,029 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {47622#true} {47622#true} #1218#return; {47622#true} is VALID [2022-04-28 15:14:08,038 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:14:08,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,046 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:08,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,058 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-28 15:14:08,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume !(0 == ~__BLAST_NONDET~5); {47622#true} is VALID [2022-04-28 15:14:08,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} #res := -1073741823; {47622#true} is VALID [2022-04-28 15:14:08,058 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,058 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47622#true} {47622#true} #1176#return; {47622#true} is VALID [2022-04-28 15:14:08,059 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-28 15:14:08,062 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-28 15:14:08,062 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-28 15:14:08,062 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume !(0 == ~__BLAST_NONDET~5); {47622#true} is VALID [2022-04-28 15:14:08,062 INFO L290 TraceCheckUtils]: 4: Hoare triple {47622#true} #res := -1073741823; {47622#true} is VALID [2022-04-28 15:14:08,062 INFO L290 TraceCheckUtils]: 5: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,063 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {47622#true} {47622#true} #1176#return; {47622#true} is VALID [2022-04-28 15:14:08,063 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-28 15:14:08,063 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-28 15:14:08,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47622#true} {47622#true} #1220#return; {47622#true} is VALID [2022-04-28 15:14:08,074 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:14:08,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,079 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-28 15:14:08,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,080 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47622#true} {47622#true} #1222#return; {47622#true} is VALID [2022-04-28 15:14:08,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-28 15:14:08,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,085 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-28 15:14:08,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {47622#true} is VALID [2022-04-28 15:14:08,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {47622#true} is VALID [2022-04-28 15:14:08,086 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume #res.base == dest.base && #res.offset == dest.offset; {47622#true} is VALID [2022-04-28 15:14:08,086 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47622#true} {47622#true} #1186#return; {47622#true} is VALID [2022-04-28 15:14:08,091 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 62 [2022-04-28 15:14:08,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:08,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,102 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-28 15:14:08,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,102 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47622#true} {47622#true} #1174#return; {47622#true} is VALID [2022-04-28 15:14:08,102 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-28 15:14:08,103 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-28 15:14:08,103 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-28 15:14:08,103 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,103 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47622#true} {47622#true} #1174#return; {47622#true} is VALID [2022-04-28 15:14:08,103 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-28 15:14:08,103 INFO L290 TraceCheckUtils]: 6: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,103 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {47622#true} {47622#true} #1210#return; {47622#true} is VALID [2022-04-28 15:14:08,110 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-28 15:14:08,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:08,117 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-28 15:14:08,117 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-28 15:14:08,117 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-28 15:14:08,118 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-28 15:14:08,119 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-28 15:14:08,119 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,119 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47622#true} {47622#true} #1270#return; {47622#true} is VALID [2022-04-28 15:14:08,119 INFO L272 TraceCheckUtils]: 4: Hoare triple {47622#true} call #t~ret213 := main(); {47622#true} is VALID [2022-04-28 15:14:08,119 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-28 15:14:08,120 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-28 15:14:08,120 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-28 15:14:08,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,120 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {47622#true} {47622#true} #1216#return; {47622#true} is VALID [2022-04-28 15:14:08,120 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-28 15:14:08,121 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-28 15:14:08,121 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-28 15:14:08,121 INFO L290 TraceCheckUtils]: 13: Hoare triple {47622#true} ~cond := #in~cond; {47622#true} is VALID [2022-04-28 15:14:08,121 INFO L290 TraceCheckUtils]: 14: Hoare triple {47622#true} assume !(0 == ~cond); {47622#true} is VALID [2022-04-28 15:14:08,121 INFO L290 TraceCheckUtils]: 15: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,121 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {47622#true} {47622#true} #1254#return; {47622#true} is VALID [2022-04-28 15:14:08,121 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-28 15:14:08,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,121 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {47622#true} {47622#true} #1218#return; {47622#true} is VALID [2022-04-28 15:14:08,121 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-28 15:14:08,121 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-28 15:14:08,121 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-28 15:14:08,122 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-28 15:14:08,122 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-28 15:14:08,123 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-28 15:14:08,123 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-28 15:14:08,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {47622#true} assume !(0 == ~__BLAST_NONDET~5); {47622#true} is VALID [2022-04-28 15:14:08,123 INFO L290 TraceCheckUtils]: 28: Hoare triple {47622#true} #res := -1073741823; {47622#true} is VALID [2022-04-28 15:14:08,123 INFO L290 TraceCheckUtils]: 29: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,123 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {47622#true} {47622#true} #1176#return; {47622#true} is VALID [2022-04-28 15:14:08,123 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-28 15:14:08,123 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-28 15:14:08,124 INFO L290 TraceCheckUtils]: 33: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,124 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {47622#true} {47622#true} #1220#return; {47622#true} is VALID [2022-04-28 15:14:08,124 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-28 15:14:08,124 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-28 15:14:08,124 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-28 15:14:08,124 INFO L290 TraceCheckUtils]: 38: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,124 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {47622#true} {47622#true} #1222#return; {47622#true} is VALID [2022-04-28 15:14:08,124 INFO L290 TraceCheckUtils]: 40: Hoare triple {47622#true} assume !!(~status~5 >= 0); {47622#true} is VALID [2022-04-28 15:14:08,125 INFO L290 TraceCheckUtils]: 41: Hoare triple {47622#true} assume !(0 == ~__BLAST_NONDET~0); {47622#true} is VALID [2022-04-28 15:14:08,125 INFO L290 TraceCheckUtils]: 42: Hoare triple {47622#true} assume !(1 == ~__BLAST_NONDET~0); {47622#true} is VALID [2022-04-28 15:14:08,125 INFO L290 TraceCheckUtils]: 43: Hoare triple {47622#true} assume !(2 == ~__BLAST_NONDET~0); {47622#true} is VALID [2022-04-28 15:14:08,125 INFO L290 TraceCheckUtils]: 44: Hoare triple {47622#true} assume 3 == ~__BLAST_NONDET~0; {47622#true} is VALID [2022-04-28 15:14:08,125 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-28 15:14:08,125 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-28 15:14:08,125 INFO L290 TraceCheckUtils]: 47: Hoare triple {47622#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {47622#true} is VALID [2022-04-28 15:14:08,125 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-28 15:14:08,126 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-28 15:14:08,126 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-28 15:14:08,126 INFO L290 TraceCheckUtils]: 51: Hoare triple {47622#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {47622#true} is VALID [2022-04-28 15:14:08,126 INFO L290 TraceCheckUtils]: 52: Hoare triple {47622#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {47622#true} is VALID [2022-04-28 15:14:08,126 INFO L290 TraceCheckUtils]: 53: Hoare triple {47622#true} assume #res.base == dest.base && #res.offset == dest.offset; {47622#true} is VALID [2022-04-28 15:14:08,127 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {47622#true} {47622#true} #1186#return; {47622#true} is VALID [2022-04-28 15:14:08,127 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-28 15:14:08,127 INFO L290 TraceCheckUtils]: 56: Hoare triple {47622#true} assume !(~s~0 != ~NP~0); {47622#true} is VALID [2022-04-28 15:14:08,127 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-28 15:14:08,127 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-28 15:14:08,127 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-28 15:14:08,127 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-28 15:14:08,127 INFO L290 TraceCheckUtils]: 61: Hoare triple {47622#true} assume 0 != ~compRegistered~0; {47622#true} is VALID [2022-04-28 15:14:08,128 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-28 15:14:08,128 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-28 15:14:08,128 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-28 15:14:08,128 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-28 15:14:08,128 INFO L290 TraceCheckUtils]: 66: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,129 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {47622#true} {47622#true} #1174#return; {47622#true} is VALID [2022-04-28 15:14:08,129 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-28 15:14:08,129 INFO L290 TraceCheckUtils]: 69: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-28 15:14:08,129 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {47622#true} {47622#true} #1210#return; {47622#true} is VALID [2022-04-28 15:14:08,129 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-28 15:14:08,129 INFO L290 TraceCheckUtils]: 72: Hoare triple {47622#true} assume -1073741802 == ~compRetStatus~0; {47622#true} is VALID [2022-04-28 15:14:08,129 INFO L272 TraceCheckUtils]: 73: Hoare triple {47622#true} call stubMoreProcessingRequired(); {47688#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:14:08,129 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-28 15:14:08,130 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-28 15:14:08,130 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-28 15:14:08,130 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-28 15:14:08,131 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-28 15:14:08,131 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-28 15:14:08,131 INFO L290 TraceCheckUtils]: 80: Hoare triple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume !(~s~0 == ~MPR1~0); {47623#false} is VALID [2022-04-28 15:14:08,131 INFO L290 TraceCheckUtils]: 81: Hoare triple {47623#false} assume !(~s~0 == ~SKIP1~0); {47623#false} is VALID [2022-04-28 15:14:08,131 INFO L272 TraceCheckUtils]: 82: Hoare triple {47623#false} call errorFn(); {47623#false} is VALID [2022-04-28 15:14:08,131 INFO L290 TraceCheckUtils]: 83: Hoare triple {47623#false} assume !false; {47623#false} is VALID [2022-04-28 15:14:08,132 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-28 15:14:08,132 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:14:08,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1672564356] [2022-04-28 15:14:08,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1672564356] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:08,132 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:08,132 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:14:08,132 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:14:08,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2020079706] [2022-04-28 15:14:08,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2020079706] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:08,132 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:08,133 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:14:08,133 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1064464992] [2022-04-28 15:14:08,133 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:14:08,133 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-28 15:14:08,133 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:14:08,133 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-28 15:14:08,190 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-28 15:14:08,190 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 15:14:08,190 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:08,190 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 15:14:08,190 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2022-04-28 15:14:08,191 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-28 15:14:10,343 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-28 15:14:12,964 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-28 15:14:16,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:16,397 INFO L93 Difference]: Finished difference Result 416 states and 527 transitions. [2022-04-28 15:14:16,397 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 15:14:16,397 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-28 15:14:16,397 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:14:16,397 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-28 15:14:16,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 452 transitions. [2022-04-28 15:14:16,401 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-28 15:14:16,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 452 transitions. [2022-04-28 15:14:16,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 452 transitions. [2022-04-28 15:14:16,898 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-28 15:14:16,904 INFO L225 Difference]: With dead ends: 416 [2022-04-28 15:14:16,904 INFO L226 Difference]: Without dead ends: 357 [2022-04-28 15:14:16,905 INFO L412 NwaCegarLoop]: 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-28 15:14:16,905 INFO L413 NwaCegarLoop]: 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, 4.9s IncrementalHoareTripleChecker+Time [2022-04-28 15:14:16,905 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [495 Valid, 494 Invalid, 991 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [184 Valid, 806 Invalid, 1 Unknown, 0 Unchecked, 4.9s Time] [2022-04-28 15:14:16,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 357 states. [2022-04-28 15:14:17,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 357 to 327. [2022-04-28 15:14:17,298 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:14:17,298 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-28 15:14:17,299 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-28 15:14:17,299 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-28 15:14:17,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:17,305 INFO L93 Difference]: Finished difference Result 357 states and 452 transitions. [2022-04-28 15:14:17,306 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 452 transitions. [2022-04-28 15:14:17,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:17,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:17,306 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-28 15:14:17,307 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-28 15:14:17,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:17,313 INFO L93 Difference]: Finished difference Result 357 states and 452 transitions. [2022-04-28 15:14:17,313 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 452 transitions. [2022-04-28 15:14:17,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:17,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:17,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:14:17,313 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:14:17,313 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-28 15:14:17,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 327 states to 327 states and 413 transitions. [2022-04-28 15:14:17,320 INFO L78 Accepts]: Start accepts. Automaton has 327 states and 413 transitions. Word has length 84 [2022-04-28 15:14:17,320 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:14:17,320 INFO L495 AbstractCegarLoop]: Abstraction has 327 states and 413 transitions. [2022-04-28 15:14:17,320 INFO L496 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-28 15:14:17,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 327 states and 413 transitions. [2022-04-28 15:14:18,044 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-28 15:14:18,045 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 413 transitions. [2022-04-28 15:14:18,045 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 15:14:18,045 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:14:18,045 INFO L195 NwaCegarLoop]: 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-28 15:14:18,046 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2022-04-28 15:14:18,046 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:14:18,046 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:14:18,046 INFO L85 PathProgramCache]: Analyzing trace with hash -1690581556, now seen corresponding path program 1 times [2022-04-28 15:14:18,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:18,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [905696150] [2022-04-28 15:14:18,046 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:14:18,046 INFO L85 PathProgramCache]: Analyzing trace with hash -1690581556, now seen corresponding path program 2 times [2022-04-28 15:14:18,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:14:18,047 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [246574025] [2022-04-28 15:14:18,047 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:14:18,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:14:18,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,198 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:14:18,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,206 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-28 15:14:18,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,206 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49914#true} {49914#true} #1270#return; {49914#true} is VALID [2022-04-28 15:14:18,224 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:14:18,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,239 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-28 15:14:18,239 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-28 15:14:18,240 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-28 15:14:18,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:14:18,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:18,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,267 INFO L290 TraceCheckUtils]: 0: Hoare triple {49914#true} ~cond := #in~cond; {49914#true} is VALID [2022-04-28 15:14:18,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume !(0 == ~cond); {49914#true} is VALID [2022-04-28 15:14:18,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,267 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49914#true} {49914#true} #1254#return; {49914#true} is VALID [2022-04-28 15:14:18,267 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-28 15:14:18,267 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-28 15:14:18,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} ~cond := #in~cond; {49914#true} is VALID [2022-04-28 15:14:18,267 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume !(0 == ~cond); {49914#true} is VALID [2022-04-28 15:14:18,267 INFO L290 TraceCheckUtils]: 4: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,267 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {49914#true} {49914#true} #1254#return; {49914#true} is VALID [2022-04-28 15:14:18,267 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-28 15:14:18,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,269 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-28 15:14:18,278 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:14:18,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,288 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:18,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,295 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-28 15:14:18,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~5); {49914#true} is VALID [2022-04-28 15:14:18,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} #res := -1073741823; {49914#true} is VALID [2022-04-28 15:14:18,296 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,296 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {49914#true} {49914#true} #1176#return; {49914#true} is VALID [2022-04-28 15:14:18,296 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-28 15:14:18,297 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-28 15:14:18,297 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-28 15:14:18,297 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~5); {49914#true} is VALID [2022-04-28 15:14:18,297 INFO L290 TraceCheckUtils]: 4: Hoare triple {49914#true} #res := -1073741823; {49914#true} is VALID [2022-04-28 15:14:18,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,297 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {49914#true} {49914#true} #1176#return; {49914#true} is VALID [2022-04-28 15:14:18,298 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-28 15:14:18,298 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-28 15:14:18,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,298 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-28 15:14:18,312 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:14:18,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,317 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-28 15:14:18,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,318 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-28 15:14:18,332 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 15:14:18,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,357 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:14:18,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:18,376 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-28 15:14:18,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume !(0 != ~compRegistered~0); {49914#true} is VALID [2022-04-28 15:14:18,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~16); {49914#true} is VALID [2022-04-28 15:14:18,376 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume 1 == ~__BLAST_NONDET~16; {49914#true} is VALID [2022-04-28 15:14:18,377 INFO L290 TraceCheckUtils]: 4: Hoare triple {49914#true} ~returnVal~0 := -1073741823; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-28 15:14:18,377 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-28 15:14:18,377 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-28 15:14:18,378 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-28 15:14:18,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {49915#false} #res := ~returnVal~0; {49915#false} is VALID [2022-04-28 15:14:18,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-28 15:14:18,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49915#false} {49914#true} #1268#return; {49915#false} is VALID [2022-04-28 15:14:18,378 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-28 15:14:18,378 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {49914#true} is VALID [2022-04-28 15:14:18,378 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-28 15:14:18,378 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {49914#true} is VALID [2022-04-28 15:14:18,378 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-28 15:14:18,379 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-28 15:14:18,379 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-28 15:14:18,379 INFO L290 TraceCheckUtils]: 7: Hoare triple {49914#true} assume !(0 != ~compRegistered~0); {49914#true} is VALID [2022-04-28 15:14:18,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~16); {49914#true} is VALID [2022-04-28 15:14:18,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {49914#true} assume 1 == ~__BLAST_NONDET~16; {49914#true} is VALID [2022-04-28 15:14:18,380 INFO L290 TraceCheckUtils]: 10: Hoare triple {49914#true} ~returnVal~0 := -1073741823; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-28 15:14:18,380 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-28 15:14:18,380 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-28 15:14:18,381 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-28 15:14:18,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {49915#false} #res := ~returnVal~0; {49915#false} is VALID [2022-04-28 15:14:18,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-28 15:14:18,381 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {49915#false} {49914#true} #1268#return; {49915#false} is VALID [2022-04-28 15:14:18,381 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-28 15:14:18,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-28 15:14:18,381 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-28 15:14:18,382 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-28 15:14:18,382 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-28 15:14:18,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,382 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49914#true} {49914#true} #1270#return; {49914#true} is VALID [2022-04-28 15:14:18,383 INFO L272 TraceCheckUtils]: 4: Hoare triple {49914#true} call #t~ret213 := main(); {49914#true} is VALID [2022-04-28 15:14:18,383 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-28 15:14:18,383 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-28 15:14:18,384 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-28 15:14:18,384 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-28 15:14:18,385 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-28 15:14:18,386 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-28 15:14:18,386 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-28 15:14:18,386 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-28 15:14:18,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {49914#true} ~cond := #in~cond; {49914#true} is VALID [2022-04-28 15:14:18,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {49914#true} assume !(0 == ~cond); {49914#true} is VALID [2022-04-28 15:14:18,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,386 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {49914#true} {49914#true} #1254#return; {49914#true} is VALID [2022-04-28 15:14:18,386 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-28 15:14:18,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,387 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-28 15:14:18,387 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-28 15:14:18,388 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-28 15:14:18,389 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-28 15:14:18,389 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-28 15:14:18,390 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-28 15:14:18,391 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-28 15:14:18,391 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-28 15:14:18,391 INFO L290 TraceCheckUtils]: 27: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~5); {49914#true} is VALID [2022-04-28 15:14:18,391 INFO L290 TraceCheckUtils]: 28: Hoare triple {49914#true} #res := -1073741823; {49914#true} is VALID [2022-04-28 15:14:18,391 INFO L290 TraceCheckUtils]: 29: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,391 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {49914#true} {49914#true} #1176#return; {49914#true} is VALID [2022-04-28 15:14:18,391 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-28 15:14:18,391 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-28 15:14:18,391 INFO L290 TraceCheckUtils]: 33: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,392 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-28 15:14:18,392 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-28 15:14:18,393 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-28 15:14:18,393 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-28 15:14:18,393 INFO L290 TraceCheckUtils]: 38: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-28 15:14:18,393 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-28 15:14:18,394 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-28 15:14:18,394 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-28 15:14:18,394 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-28 15:14:18,395 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-28 15:14:18,395 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-28 15:14:18,395 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-28 15:14:18,396 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-28 15:14:18,396 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-28 15:14:18,397 INFO L290 TraceCheckUtils]: 48: Hoare triple {49914#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {49914#true} is VALID [2022-04-28 15:14:18,397 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-28 15:14:18,397 INFO L290 TraceCheckUtils]: 50: Hoare triple {49914#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {49914#true} is VALID [2022-04-28 15:14:18,397 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-28 15:14:18,397 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-28 15:14:18,398 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-28 15:14:18,398 INFO L290 TraceCheckUtils]: 54: Hoare triple {49914#true} assume !(0 != ~compRegistered~0); {49914#true} is VALID [2022-04-28 15:14:18,398 INFO L290 TraceCheckUtils]: 55: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~16); {49914#true} is VALID [2022-04-28 15:14:18,398 INFO L290 TraceCheckUtils]: 56: Hoare triple {49914#true} assume 1 == ~__BLAST_NONDET~16; {49914#true} is VALID [2022-04-28 15:14:18,398 INFO L290 TraceCheckUtils]: 57: Hoare triple {49914#true} ~returnVal~0 := -1073741823; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-28 15:14:18,398 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-28 15:14:18,399 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-28 15:14:18,399 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-28 15:14:18,399 INFO L290 TraceCheckUtils]: 61: Hoare triple {49915#false} #res := ~returnVal~0; {49915#false} is VALID [2022-04-28 15:14:18,399 INFO L290 TraceCheckUtils]: 62: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-28 15:14:18,399 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49915#false} {49914#true} #1268#return; {49915#false} is VALID [2022-04-28 15:14:18,399 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-28 15:14:18,399 INFO L290 TraceCheckUtils]: 65: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-28 15:14:18,399 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-28 15:14:18,399 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-28 15:14:18,400 INFO L290 TraceCheckUtils]: 68: Hoare triple {49915#false} assume 0 != ~we_should_unload~0; {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 69: Hoare triple {49915#false} assume !(1 == ~pended~0); {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 70: Hoare triple {49915#false} assume !(1 == ~pended~0); {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 71: Hoare triple {49915#false} assume !(~s~0 == ~UNLOADED~0); {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 72: Hoare triple {49915#false} assume !(-1 == ~status~5); {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 73: Hoare triple {49915#false} assume ~s~0 != ~SKIP2~0; {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 74: Hoare triple {49915#false} assume !(~s~0 != ~IPC~0); {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 75: Hoare triple {49915#false} assume !(1 == ~pended~0); {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 76: Hoare triple {49915#false} assume ~s~0 == ~DC~0; {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 77: Hoare triple {49915#false} assume 259 == ~status~5; {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L272 TraceCheckUtils]: 78: Hoare triple {49915#false} call errorFn(); {49915#false} is VALID [2022-04-28 15:14:18,400 INFO L290 TraceCheckUtils]: 79: Hoare triple {49915#false} assume !false; {49915#false} is VALID [2022-04-28 15:14:18,401 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 15:14:18,401 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:14:18,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [246574025] [2022-04-28 15:14:18,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [246574025] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:18,401 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:18,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 15:14:18,401 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:14:18,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [905696150] [2022-04-28 15:14:18,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [905696150] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:18,401 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:18,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 15:14:18,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2132527801] [2022-04-28 15:14:18,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:14:18,402 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-28 15:14:18,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:14:18,402 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-28 15:14:18,462 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-28 15:14:18,462 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 15:14:18,462 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:18,462 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 15:14:18,462 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-28 15:14:18,462 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-28 15:14:20,572 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-28 15:14:24,946 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-28 15:14:29,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:29,692 INFO L93 Difference]: Finished difference Result 371 states and 465 transitions. [2022-04-28 15:14:29,692 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 15:14:29,692 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-28 15:14:29,692 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:14:29,692 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-28 15:14:29,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 400 transitions. [2022-04-28 15:14:29,695 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-28 15:14:29,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 400 transitions. [2022-04-28 15:14:29,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 400 transitions. [2022-04-28 15:14:30,187 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-28 15:14:30,193 INFO L225 Difference]: With dead ends: 371 [2022-04-28 15:14:30,193 INFO L226 Difference]: Without dead ends: 346 [2022-04-28 15:14:30,193 INFO L412 NwaCegarLoop]: 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-28 15:14:30,193 INFO L413 NwaCegarLoop]: 259 mSDtfsCounter, 1255 mSDsluCounter, 267 mSDsCounter, 0 mSdLazyCounter, 911 mSolverCounterSat, 393 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1265 SdHoareTripleChecker+Valid, 526 SdHoareTripleChecker+Invalid, 1306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 393 IncrementalHoareTripleChecker+Valid, 911 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.6s IncrementalHoareTripleChecker+Time [2022-04-28 15:14:30,194 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1265 Valid, 526 Invalid, 1306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [393 Valid, 911 Invalid, 2 Unknown, 0 Unchecked, 6.6s Time] [2022-04-28 15:14:30,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-28 15:14:30,794 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 326. [2022-04-28 15:14:30,794 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:14:30,794 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-28 15:14:30,795 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-28 15:14:30,795 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-28 15:14:30,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:30,800 INFO L93 Difference]: Finished difference Result 346 states and 438 transitions. [2022-04-28 15:14:30,800 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 438 transitions. [2022-04-28 15:14:30,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:30,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:30,801 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-28 15:14:30,801 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-28 15:14:30,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:30,806 INFO L93 Difference]: Finished difference Result 346 states and 438 transitions. [2022-04-28 15:14:30,806 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 438 transitions. [2022-04-28 15:14:30,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:30,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:30,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:14:30,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:14:30,807 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-28 15:14:30,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 326 states to 326 states and 411 transitions. [2022-04-28 15:14:30,813 INFO L78 Accepts]: Start accepts. Automaton has 326 states and 411 transitions. Word has length 80 [2022-04-28 15:14:30,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:14:30,813 INFO L495 AbstractCegarLoop]: Abstraction has 326 states and 411 transitions. [2022-04-28 15:14:30,813 INFO L496 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-28 15:14:30,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 326 states and 411 transitions. [2022-04-28 15:14:31,552 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-28 15:14:31,552 INFO L276 IsEmpty]: Start isEmpty. Operand 326 states and 411 transitions. [2022-04-28 15:14:31,553 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 15:14:31,553 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:14:31,553 INFO L195 NwaCegarLoop]: 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-28 15:14:31,553 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20 [2022-04-28 15:14:31,553 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:14:31,553 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:14:31,553 INFO L85 PathProgramCache]: Analyzing trace with hash 664933900, now seen corresponding path program 1 times [2022-04-28 15:14:31,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:31,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [275514102] [2022-04-28 15:14:31,554 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:14:31,554 INFO L85 PathProgramCache]: Analyzing trace with hash 664933900, now seen corresponding path program 2 times [2022-04-28 15:14:31,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:14:31,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1378782835] [2022-04-28 15:14:31,554 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:14:31,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:14:31,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,709 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:14:31,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,716 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-28 15:14:31,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,716 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52106#true} {52106#true} #1270#return; {52106#true} is VALID [2022-04-28 15:14:31,737 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:14:31,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,754 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-28 15:14:31,754 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-28 15:14:31,754 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-28 15:14:31,761 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:14:31,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,785 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:31,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,790 INFO L290 TraceCheckUtils]: 0: Hoare triple {52106#true} ~cond := #in~cond; {52106#true} is VALID [2022-04-28 15:14:31,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume !(0 == ~cond); {52106#true} is VALID [2022-04-28 15:14:31,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52106#true} {52106#true} #1254#return; {52106#true} is VALID [2022-04-28 15:14:31,790 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-28 15:14:31,790 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-28 15:14:31,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#true} ~cond := #in~cond; {52106#true} is VALID [2022-04-28 15:14:31,790 INFO L290 TraceCheckUtils]: 3: Hoare triple {52106#true} assume !(0 == ~cond); {52106#true} is VALID [2022-04-28 15:14:31,790 INFO L290 TraceCheckUtils]: 4: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,790 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {52106#true} {52106#true} #1254#return; {52106#true} is VALID [2022-04-28 15:14:31,790 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-28 15:14:31,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,800 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-28 15:14:31,810 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:14:31,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,823 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:31,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,829 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-28 15:14:31,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume !(0 == ~__BLAST_NONDET~5); {52106#true} is VALID [2022-04-28 15:14:31,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#true} #res := -1073741823; {52106#true} is VALID [2022-04-28 15:14:31,829 INFO L290 TraceCheckUtils]: 3: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,829 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {52106#true} {52106#true} #1176#return; {52106#true} is VALID [2022-04-28 15:14:31,829 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-28 15:14:31,830 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-28 15:14:31,830 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-28 15:14:31,831 INFO L290 TraceCheckUtils]: 3: Hoare triple {52106#true} assume !(0 == ~__BLAST_NONDET~5); {52106#true} is VALID [2022-04-28 15:14:31,831 INFO L290 TraceCheckUtils]: 4: Hoare triple {52106#true} #res := -1073741823; {52106#true} is VALID [2022-04-28 15:14:31,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,831 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {52106#true} {52106#true} #1176#return; {52106#true} is VALID [2022-04-28 15:14:31,831 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-28 15:14:31,831 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-28 15:14:31,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,832 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-28 15:14:31,853 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:14:31,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,859 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-28 15:14:31,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,859 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-28 15:14:31,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 15:14:31,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-28 15:14:31,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:31,939 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-28 15:14:31,940 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-28 15:14:31,940 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-28 15:14:31,940 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-28 15:14:31,940 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-28 15:14:31,941 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-28 15:14:31,941 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-28 15:14:31,941 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-28 15:14:31,942 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-28 15:14:31,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume true; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-28 15:14:31,943 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-28 15:14:31,943 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-28 15:14:31,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {52106#true} is VALID [2022-04-28 15:14:31,943 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-28 15:14:31,943 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-28 15:14:31,944 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-28 15:14:31,945 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-28 15:14:31,945 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-28 15:14:31,945 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-28 15:14:31,945 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-28 15:14:31,946 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-28 15:14:31,946 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-28 15:14:31,946 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-28 15:14:31,946 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-28 15:14:31,947 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-28 15:14:31,947 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-28 15:14:31,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume true; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-28 15:14:31,948 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-28 15:14:31,948 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-28 15:14:31,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {52186#(= ~MPR1~0 ~SKIP1~0)} assume true; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-28 15:14:31,949 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-28 15:14:31,950 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-28 15:14:31,951 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-28 15:14:31,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52106#true} {52106#true} #1270#return; {52106#true} is VALID [2022-04-28 15:14:31,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {52106#true} call #t~ret213 := main(); {52106#true} is VALID [2022-04-28 15:14:31,951 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-28 15:14:31,952 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-28 15:14:31,953 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-28 15:14:31,954 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-28 15:14:31,954 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-28 15:14:31,955 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-28 15:14:31,955 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-28 15:14:31,955 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-28 15:14:31,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {52106#true} ~cond := #in~cond; {52106#true} is VALID [2022-04-28 15:14:31,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {52106#true} assume !(0 == ~cond); {52106#true} is VALID [2022-04-28 15:14:31,955 INFO L290 TraceCheckUtils]: 15: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,955 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {52106#true} {52106#true} #1254#return; {52106#true} is VALID [2022-04-28 15:14:31,955 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-28 15:14:31,956 INFO L290 TraceCheckUtils]: 18: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,958 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-28 15:14:31,959 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-28 15:14:31,959 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-28 15:14:31,960 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-28 15:14:31,961 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-28 15:14:31,961 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-28 15:14:31,962 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-28 15:14:31,962 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-28 15:14:31,962 INFO L290 TraceCheckUtils]: 27: Hoare triple {52106#true} assume !(0 == ~__BLAST_NONDET~5); {52106#true} is VALID [2022-04-28 15:14:31,962 INFO L290 TraceCheckUtils]: 28: Hoare triple {52106#true} #res := -1073741823; {52106#true} is VALID [2022-04-28 15:14:31,962 INFO L290 TraceCheckUtils]: 29: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,962 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {52106#true} {52106#true} #1176#return; {52106#true} is VALID [2022-04-28 15:14:31,962 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-28 15:14:31,962 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-28 15:14:31,962 INFO L290 TraceCheckUtils]: 33: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,963 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-28 15:14:31,963 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-28 15:14:31,964 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-28 15:14:31,964 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-28 15:14:31,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-28 15:14:31,965 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-28 15:14:31,965 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-28 15:14:31,965 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-28 15:14:31,967 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-28 15:14:31,967 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-28 15:14:31,968 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-28 15:14:31,968 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-28 15:14:31,969 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-28 15:14:31,969 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-28 15:14:31,969 INFO L290 TraceCheckUtils]: 48: Hoare triple {52106#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {52106#true} is VALID [2022-04-28 15:14:31,969 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-28 15:14:31,969 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-28 15:14:31,970 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-28 15:14:31,971 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-28 15:14:31,971 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-28 15:14:31,971 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-28 15:14:31,971 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-28 15:14:31,972 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-28 15:14:31,972 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-28 15:14:31,972 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-28 15:14:31,973 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-28 15:14:31,973 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-28 15:14:31,973 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-28 15:14:31,973 INFO L290 TraceCheckUtils]: 62: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume true; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-28 15:14:31,974 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-28 15:14:31,974 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-28 15:14:31,975 INFO L290 TraceCheckUtils]: 65: Hoare triple {52186#(= ~MPR1~0 ~SKIP1~0)} assume true; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-28 15:14:31,975 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-28 15:14:31,975 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-28 15:14:31,975 INFO L290 TraceCheckUtils]: 68: Hoare triple {52107#false} assume 0 != ~we_should_unload~0; {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 69: Hoare triple {52107#false} assume !(1 == ~pended~0); {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 70: Hoare triple {52107#false} assume !(1 == ~pended~0); {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 71: Hoare triple {52107#false} assume !(~s~0 == ~UNLOADED~0); {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 72: Hoare triple {52107#false} assume !(-1 == ~status~5); {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 73: Hoare triple {52107#false} assume ~s~0 != ~SKIP2~0; {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 74: Hoare triple {52107#false} assume !(~s~0 != ~IPC~0); {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 75: Hoare triple {52107#false} assume !(1 == ~pended~0); {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 76: Hoare triple {52107#false} assume ~s~0 == ~DC~0; {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 77: Hoare triple {52107#false} assume 259 == ~status~5; {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L272 TraceCheckUtils]: 78: Hoare triple {52107#false} call errorFn(); {52107#false} is VALID [2022-04-28 15:14:31,976 INFO L290 TraceCheckUtils]: 79: Hoare triple {52107#false} assume !false; {52107#false} is VALID [2022-04-28 15:14:31,977 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-28 15:14:31,977 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:14:31,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1378782835] [2022-04-28 15:14:31,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1378782835] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:31,977 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:31,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 15:14:31,977 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:14:31,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [275514102] [2022-04-28 15:14:31,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [275514102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:31,977 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:31,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 15:14:31,977 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [887015967] [2022-04-28 15:14:31,977 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:14:31,978 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-28 15:14:31,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:14:31,978 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-28 15:14:32,038 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-28 15:14:32,038 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 15:14:32,039 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:32,039 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 15:14:32,039 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-28 15:14:32,039 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-28 15:14:34,284 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-28 15:14:42,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:42,833 INFO L93 Difference]: Finished difference Result 353 states and 444 transitions. [2022-04-28 15:14:42,833 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 15:14:42,833 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-28 15:14:42,833 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:14:42,833 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-28 15:14:42,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 402 transitions. [2022-04-28 15:14:42,836 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-28 15:14:42,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 402 transitions. [2022-04-28 15:14:42,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 402 transitions. [2022-04-28 15:14:43,344 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-28 15:14:43,347 INFO L225 Difference]: With dead ends: 353 [2022-04-28 15:14:43,347 INFO L226 Difference]: Without dead ends: 205 [2022-04-28 15:14:43,348 INFO L412 NwaCegarLoop]: 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-28 15:14:43,348 INFO L413 NwaCegarLoop]: 230 mSDtfsCounter, 954 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 1429 mSolverCounterSat, 325 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s 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, 5.2s IncrementalHoareTripleChecker+Time [2022-04-28 15:14:43,348 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [960 Valid, 472 Invalid, 1755 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [325 Valid, 1429 Invalid, 1 Unknown, 0 Unchecked, 5.2s Time] [2022-04-28 15:14:43,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 205 states. [2022-04-28 15:14:43,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 205 to 186. [2022-04-28 15:14:43,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:14:43,666 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-28 15:14:43,666 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-28 15:14:43,667 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-28 15:14:43,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:43,669 INFO L93 Difference]: Finished difference Result 205 states and 246 transitions. [2022-04-28 15:14:43,669 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 246 transitions. [2022-04-28 15:14:43,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:43,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:43,670 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-28 15:14:43,670 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-28 15:14:43,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:43,672 INFO L93 Difference]: Finished difference Result 205 states and 246 transitions. [2022-04-28 15:14:43,672 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 246 transitions. [2022-04-28 15:14:43,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:43,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:43,673 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:14:43,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:14:43,673 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-28 15:14:43,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 220 transitions. [2022-04-28 15:14:43,675 INFO L78 Accepts]: Start accepts. Automaton has 186 states and 220 transitions. Word has length 80 [2022-04-28 15:14:43,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:14:43,675 INFO L495 AbstractCegarLoop]: Abstraction has 186 states and 220 transitions. [2022-04-28 15:14:43,675 INFO L496 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-28 15:14:43,675 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 186 states and 220 transitions. [2022-04-28 15:14:44,141 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-28 15:14:44,141 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-28 15:14:44,142 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-28 15:14:44,142 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:14:44,142 INFO L195 NwaCegarLoop]: 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-28 15:14:44,142 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21 [2022-04-28 15:14:44,142 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:14:44,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:14:44,142 INFO L85 PathProgramCache]: Analyzing trace with hash 1299022194, now seen corresponding path program 1 times [2022-04-28 15:14:44,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:44,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [390026214] [2022-04-28 15:14:44,143 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:14:44,143 INFO L85 PathProgramCache]: Analyzing trace with hash 1299022194, now seen corresponding path program 2 times [2022-04-28 15:14:44,143 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:14:44,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1773381908] [2022-04-28 15:14:44,143 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:14:44,143 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:14:44,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:14:44,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,290 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-28 15:14:44,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,291 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53714#true} {53714#true} #1270#return; {53714#true} is VALID [2022-04-28 15:14:44,316 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:14:44,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,322 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-28 15:14:44,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,322 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53714#true} {53714#true} #1216#return; {53714#true} is VALID [2022-04-28 15:14:44,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:14:44,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,340 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:44,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,345 INFO L290 TraceCheckUtils]: 0: Hoare triple {53714#true} ~cond := #in~cond; {53714#true} is VALID [2022-04-28 15:14:44,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume !(0 == ~cond); {53714#true} is VALID [2022-04-28 15:14:44,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53714#true} {53714#true} #1254#return; {53714#true} is VALID [2022-04-28 15:14:44,346 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-28 15:14:44,346 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-28 15:14:44,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} ~cond := #in~cond; {53714#true} is VALID [2022-04-28 15:14:44,346 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume !(0 == ~cond); {53714#true} is VALID [2022-04-28 15:14:44,346 INFO L290 TraceCheckUtils]: 4: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,346 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {53714#true} {53714#true} #1254#return; {53714#true} is VALID [2022-04-28 15:14:44,346 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-28 15:14:44,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,347 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {53714#true} {53714#true} #1218#return; {53714#true} is VALID [2022-04-28 15:14:44,355 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:14:44,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,365 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:44,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,372 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-28 15:14:44,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume !(0 == ~__BLAST_NONDET~5); {53714#true} is VALID [2022-04-28 15:14:44,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} #res := -1073741823; {53714#true} is VALID [2022-04-28 15:14:44,372 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,372 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53714#true} {53714#true} #1176#return; {53714#true} is VALID [2022-04-28 15:14:44,372 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-28 15:14:44,373 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-28 15:14:44,373 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-28 15:14:44,373 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume !(0 == ~__BLAST_NONDET~5); {53714#true} is VALID [2022-04-28 15:14:44,373 INFO L290 TraceCheckUtils]: 4: Hoare triple {53714#true} #res := -1073741823; {53714#true} is VALID [2022-04-28 15:14:44,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,374 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {53714#true} {53714#true} #1176#return; {53714#true} is VALID [2022-04-28 15:14:44,374 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-28 15:14:44,374 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-28 15:14:44,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,374 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53714#true} {53714#true} #1220#return; {53714#true} is VALID [2022-04-28 15:14:44,386 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:14:44,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,391 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-28 15:14:44,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,392 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53714#true} {53714#true} #1222#return; {53714#true} is VALID [2022-04-28 15:14:44,392 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-28 15:14:44,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,397 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-28 15:14:44,398 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {53714#true} is VALID [2022-04-28 15:14:44,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {53714#true} is VALID [2022-04-28 15:14:44,398 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume #res.base == dest.base && #res.offset == dest.offset; {53714#true} is VALID [2022-04-28 15:14:44,398 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53714#true} {53714#true} #1186#return; {53714#true} is VALID [2022-04-28 15:14:44,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-28 15:14:44,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:14:44,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:44,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:44,486 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-28 15:14:44,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,486 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53714#true} {53714#true} #1174#return; {53714#true} is VALID [2022-04-28 15:14:44,486 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-28 15:14:44,487 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-28 15:14:44,487 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-28 15:14:44,487 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,487 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53714#true} {53714#true} #1174#return; {53714#true} is VALID [2022-04-28 15:14:44,487 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-28 15:14:44,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,487 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {53714#true} {53714#true} #1210#return; {53714#true} is VALID [2022-04-28 15:14:44,487 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-28 15:14:44,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume 0 != ~compRegistered~0; {53714#true} is VALID [2022-04-28 15:14:44,488 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-28 15:14:44,488 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-28 15:14:44,489 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-28 15:14:44,489 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-28 15:14:44,489 INFO L290 TraceCheckUtils]: 6: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,489 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {53714#true} {53714#true} #1174#return; {53714#true} is VALID [2022-04-28 15:14:44,489 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-28 15:14:44,489 INFO L290 TraceCheckUtils]: 9: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,489 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53714#true} {53714#true} #1210#return; {53714#true} is VALID [2022-04-28 15:14:44,490 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-28 15:14:44,490 INFO L290 TraceCheckUtils]: 12: Hoare triple {53714#true} assume !(-1073741802 == ~compRetStatus~0); {53714#true} is VALID [2022-04-28 15:14:44,490 INFO L290 TraceCheckUtils]: 13: Hoare triple {53714#true} assume 0 == ~__BLAST_NONDET~11; {53714#true} is VALID [2022-04-28 15:14:44,490 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-28 15:14:44,490 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-28 15:14:44,491 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-28 15:14:44,491 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-28 15:14:44,492 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-28 15:14:44,493 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-28 15:14:44,493 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-28 15:14:44,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53714#true} {53714#true} #1270#return; {53714#true} is VALID [2022-04-28 15:14:44,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {53714#true} call #t~ret213 := main(); {53714#true} is VALID [2022-04-28 15:14:44,494 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-28 15:14:44,494 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-28 15:14:44,495 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-28 15:14:44,495 INFO L290 TraceCheckUtils]: 8: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,495 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {53714#true} {53714#true} #1216#return; {53714#true} is VALID [2022-04-28 15:14:44,495 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-28 15:14:44,495 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-28 15:14:44,496 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-28 15:14:44,496 INFO L290 TraceCheckUtils]: 13: Hoare triple {53714#true} ~cond := #in~cond; {53714#true} is VALID [2022-04-28 15:14:44,496 INFO L290 TraceCheckUtils]: 14: Hoare triple {53714#true} assume !(0 == ~cond); {53714#true} is VALID [2022-04-28 15:14:44,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,496 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {53714#true} {53714#true} #1254#return; {53714#true} is VALID [2022-04-28 15:14:44,496 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-28 15:14:44,496 INFO L290 TraceCheckUtils]: 18: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,496 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {53714#true} {53714#true} #1218#return; {53714#true} is VALID [2022-04-28 15:14:44,496 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-28 15:14:44,496 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-28 15:14:44,496 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-28 15:14:44,497 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-28 15:14:44,497 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-28 15:14:44,498 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-28 15:14:44,498 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-28 15:14:44,498 INFO L290 TraceCheckUtils]: 27: Hoare triple {53714#true} assume !(0 == ~__BLAST_NONDET~5); {53714#true} is VALID [2022-04-28 15:14:44,498 INFO L290 TraceCheckUtils]: 28: Hoare triple {53714#true} #res := -1073741823; {53714#true} is VALID [2022-04-28 15:14:44,498 INFO L290 TraceCheckUtils]: 29: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,499 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {53714#true} {53714#true} #1176#return; {53714#true} is VALID [2022-04-28 15:14:44,499 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-28 15:14:44,499 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-28 15:14:44,499 INFO L290 TraceCheckUtils]: 33: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,499 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {53714#true} {53714#true} #1220#return; {53714#true} is VALID [2022-04-28 15:14:44,499 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-28 15:14:44,499 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-28 15:14:44,500 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-28 15:14:44,500 INFO L290 TraceCheckUtils]: 38: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,500 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {53714#true} {53714#true} #1222#return; {53714#true} is VALID [2022-04-28 15:14:44,500 INFO L290 TraceCheckUtils]: 40: Hoare triple {53714#true} assume !!(~status~5 >= 0); {53714#true} is VALID [2022-04-28 15:14:44,500 INFO L290 TraceCheckUtils]: 41: Hoare triple {53714#true} assume !(0 == ~__BLAST_NONDET~0); {53714#true} is VALID [2022-04-28 15:14:44,500 INFO L290 TraceCheckUtils]: 42: Hoare triple {53714#true} assume !(1 == ~__BLAST_NONDET~0); {53714#true} is VALID [2022-04-28 15:14:44,500 INFO L290 TraceCheckUtils]: 43: Hoare triple {53714#true} assume !(2 == ~__BLAST_NONDET~0); {53714#true} is VALID [2022-04-28 15:14:44,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {53714#true} assume 3 == ~__BLAST_NONDET~0; {53714#true} is VALID [2022-04-28 15:14:44,500 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-28 15:14:44,500 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-28 15:14:44,500 INFO L290 TraceCheckUtils]: 47: Hoare triple {53714#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {53714#true} is VALID [2022-04-28 15:14:44,500 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-28 15:14:44,501 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-28 15:14:44,501 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-28 15:14:44,501 INFO L290 TraceCheckUtils]: 51: Hoare triple {53714#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {53714#true} is VALID [2022-04-28 15:14:44,501 INFO L290 TraceCheckUtils]: 52: Hoare triple {53714#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {53714#true} is VALID [2022-04-28 15:14:44,501 INFO L290 TraceCheckUtils]: 53: Hoare triple {53714#true} assume #res.base == dest.base && #res.offset == dest.offset; {53714#true} is VALID [2022-04-28 15:14:44,501 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {53714#true} {53714#true} #1186#return; {53714#true} is VALID [2022-04-28 15:14:44,502 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-28 15:14:44,502 INFO L290 TraceCheckUtils]: 56: Hoare triple {53714#true} assume !(~s~0 != ~NP~0); {53714#true} is VALID [2022-04-28 15:14:44,502 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-28 15:14:44,502 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-28 15:14:44,502 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-28 15:14:44,503 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-28 15:14:44,503 INFO L290 TraceCheckUtils]: 61: Hoare triple {53714#true} assume 0 != ~compRegistered~0; {53714#true} is VALID [2022-04-28 15:14:44,503 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-28 15:14:44,503 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-28 15:14:44,504 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-28 15:14:44,504 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-28 15:14:44,504 INFO L290 TraceCheckUtils]: 66: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,504 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {53714#true} {53714#true} #1174#return; {53714#true} is VALID [2022-04-28 15:14:44,504 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-28 15:14:44,504 INFO L290 TraceCheckUtils]: 69: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-28 15:14:44,504 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {53714#true} {53714#true} #1210#return; {53714#true} is VALID [2022-04-28 15:14:44,504 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-28 15:14:44,505 INFO L290 TraceCheckUtils]: 72: Hoare triple {53714#true} assume !(-1073741802 == ~compRetStatus~0); {53714#true} is VALID [2022-04-28 15:14:44,505 INFO L290 TraceCheckUtils]: 73: Hoare triple {53714#true} assume 0 == ~__BLAST_NONDET~11; {53714#true} is VALID [2022-04-28 15:14:44,505 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-28 15:14:44,505 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-28 15:14:44,506 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-28 15:14:44,506 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-28 15:14:44,507 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-28 15:14:44,507 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-28 15:14:44,507 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-28 15:14:44,508 INFO L290 TraceCheckUtils]: 81: Hoare triple {53770#(= KbFilter_PnP_~status~3 0)} assume !(~status~3 >= 0); {53715#false} is VALID [2022-04-28 15:14:44,508 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-28 15:14:44,508 INFO L272 TraceCheckUtils]: 83: Hoare triple {53715#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {53715#false} is VALID [2022-04-28 15:14:44,508 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-28 15:14:44,508 INFO L290 TraceCheckUtils]: 85: Hoare triple {53715#false} assume !(~s~0 == ~NP~0); {53715#false} is VALID [2022-04-28 15:14:44,508 INFO L272 TraceCheckUtils]: 86: Hoare triple {53715#false} call errorFn(); {53715#false} is VALID [2022-04-28 15:14:44,508 INFO L290 TraceCheckUtils]: 87: Hoare triple {53715#false} assume !false; {53715#false} is VALID [2022-04-28 15:14:44,508 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-28 15:14:44,508 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:14:44,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1773381908] [2022-04-28 15:14:44,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1773381908] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:44,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:44,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 15:14:44,510 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:14:44,510 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [390026214] [2022-04-28 15:14:44,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [390026214] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:44,510 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:44,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 15:14:44,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1775082329] [2022-04-28 15:14:44,510 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:14:44,511 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-28 15:14:44,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:14:44,511 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-28 15:14:44,586 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-28 15:14:44,586 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 15:14:44,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:44,587 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 15:14:44,587 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-28 15:14:44,587 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-28 15:14:46,721 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-28 15:14:56,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:56,795 INFO L93 Difference]: Finished difference Result 300 states and 368 transitions. [2022-04-28 15:14:56,795 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 15:14:56,795 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-28 15:14:56,795 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:14:56,795 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-28 15:14:56,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 270 transitions. [2022-04-28 15:14:56,797 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-28 15:14:56,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 270 transitions. [2022-04-28 15:14:56,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 270 transitions. [2022-04-28 15:14:57,110 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-28 15:14:57,114 INFO L225 Difference]: With dead ends: 300 [2022-04-28 15:14:57,114 INFO L226 Difference]: Without dead ends: 237 [2022-04-28 15:14:57,114 INFO L412 NwaCegarLoop]: 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-28 15:14:57,115 INFO L413 NwaCegarLoop]: 138 mSDtfsCounter, 368 mSDsluCounter, 253 mSDsCounter, 0 mSdLazyCounter, 794 mSolverCounterSat, 193 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.6s 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, 6.6s IncrementalHoareTripleChecker+Time [2022-04-28 15:14:57,115 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [373 Valid, 391 Invalid, 988 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [193 Valid, 794 Invalid, 1 Unknown, 0 Unchecked, 6.6s Time] [2022-04-28 15:14:57,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 237 states. [2022-04-28 15:14:57,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 237 to 199. [2022-04-28 15:14:57,447 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:14:57,447 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-28 15:14:57,447 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-28 15:14:57,447 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-28 15:14:57,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:57,451 INFO L93 Difference]: Finished difference Result 237 states and 284 transitions. [2022-04-28 15:14:57,451 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 284 transitions. [2022-04-28 15:14:57,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:57,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:57,455 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-28 15:14:57,455 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-28 15:14:57,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:14:57,458 INFO L93 Difference]: Finished difference Result 237 states and 284 transitions. [2022-04-28 15:14:57,458 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 284 transitions. [2022-04-28 15:14:57,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:14:57,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:14:57,458 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:14:57,459 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:14:57,459 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-28 15:14:57,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 233 transitions. [2022-04-28 15:14:57,461 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 233 transitions. Word has length 88 [2022-04-28 15:14:57,461 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:14:57,461 INFO L495 AbstractCegarLoop]: Abstraction has 199 states and 233 transitions. [2022-04-28 15:14:57,462 INFO L496 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-28 15:14:57,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 199 states and 233 transitions. [2022-04-28 15:14:57,947 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-28 15:14:57,947 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 233 transitions. [2022-04-28 15:14:57,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 15:14:57,948 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:14:57,948 INFO L195 NwaCegarLoop]: 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-28 15:14:57,948 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22 [2022-04-28 15:14:57,948 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:14:57,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:14:57,948 INFO L85 PathProgramCache]: Analyzing trace with hash -1324935307, now seen corresponding path program 1 times [2022-04-28 15:14:57,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:57,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1610881092] [2022-04-28 15:14:57,949 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:14:57,949 INFO L85 PathProgramCache]: Analyzing trace with hash -1324935307, now seen corresponding path program 2 times [2022-04-28 15:14:57,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:14:57,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1289525412] [2022-04-28 15:14:57,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:14:57,949 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:14:58,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,079 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:14:58,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,085 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-28 15:14:58,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,085 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55294#true} {55294#true} #1270#return; {55294#true} is VALID [2022-04-28 15:14:58,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:14:58,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,111 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-28 15:14:58,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,111 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55294#true} {55294#true} #1216#return; {55294#true} is VALID [2022-04-28 15:14:58,118 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:14:58,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,129 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:58,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {55294#true} ~cond := #in~cond; {55294#true} is VALID [2022-04-28 15:14:58,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume !(0 == ~cond); {55294#true} is VALID [2022-04-28 15:14:58,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55294#true} {55294#true} #1254#return; {55294#true} is VALID [2022-04-28 15:14:58,134 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-28 15:14:58,135 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-28 15:14:58,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} ~cond := #in~cond; {55294#true} is VALID [2022-04-28 15:14:58,135 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume !(0 == ~cond); {55294#true} is VALID [2022-04-28 15:14:58,135 INFO L290 TraceCheckUtils]: 4: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,135 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {55294#true} {55294#true} #1254#return; {55294#true} is VALID [2022-04-28 15:14:58,135 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-28 15:14:58,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,135 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {55294#true} {55294#true} #1218#return; {55294#true} is VALID [2022-04-28 15:14:58,144 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:14:58,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,153 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:58,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,161 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-28 15:14:58,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume !(0 == ~__BLAST_NONDET~5); {55294#true} is VALID [2022-04-28 15:14:58,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} #res := -1073741823; {55294#true} is VALID [2022-04-28 15:14:58,161 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,161 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55294#true} {55294#true} #1176#return; {55294#true} is VALID [2022-04-28 15:14:58,161 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-28 15:14:58,162 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-28 15:14:58,163 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-28 15:14:58,163 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume !(0 == ~__BLAST_NONDET~5); {55294#true} is VALID [2022-04-28 15:14:58,163 INFO L290 TraceCheckUtils]: 4: Hoare triple {55294#true} #res := -1073741823; {55294#true} is VALID [2022-04-28 15:14:58,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,163 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {55294#true} {55294#true} #1176#return; {55294#true} is VALID [2022-04-28 15:14:58,163 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-28 15:14:58,163 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-28 15:14:58,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,164 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1220#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,177 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:14:58,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,183 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-28 15:14:58,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,184 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1222#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-28 15:14:58,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,197 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-28 15:14:58,197 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {55294#true} is VALID [2022-04-28 15:14:58,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {55294#true} is VALID [2022-04-28 15:14:58,197 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume #res.base == dest.base && #res.offset == dest.offset; {55294#true} is VALID [2022-04-28 15:14:58,198 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1186#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-28 15:14:58,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:14:58,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,234 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:14:58,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:14:58,239 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-28 15:14:58,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,239 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55294#true} {55294#true} #1174#return; {55294#true} is VALID [2022-04-28 15:14:58,239 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-28 15:14:58,240 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-28 15:14:58,240 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-28 15:14:58,240 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,240 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55294#true} {55294#true} #1174#return; {55294#true} is VALID [2022-04-28 15:14:58,240 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-28 15:14:58,240 INFO L290 TraceCheckUtils]: 6: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,240 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {55294#true} {55294#true} #1210#return; {55294#true} is VALID [2022-04-28 15:14:58,240 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-28 15:14:58,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume 0 != ~compRegistered~0; {55294#true} is VALID [2022-04-28 15:14:58,241 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-28 15:14:58,241 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-28 15:14:58,242 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-28 15:14:58,242 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-28 15:14:58,242 INFO L290 TraceCheckUtils]: 6: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,242 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {55294#true} {55294#true} #1174#return; {55294#true} is VALID [2022-04-28 15:14:58,242 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-28 15:14:58,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55294#true} {55294#true} #1210#return; {55294#true} is VALID [2022-04-28 15:14:58,242 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-28 15:14:58,242 INFO L290 TraceCheckUtils]: 12: Hoare triple {55294#true} assume !(-1073741802 == ~compRetStatus~0); {55294#true} is VALID [2022-04-28 15:14:58,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {55294#true} assume 0 == ~__BLAST_NONDET~11; {55294#true} is VALID [2022-04-28 15:14:58,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {55294#true} ~returnVal2~0 := 0; {55294#true} is VALID [2022-04-28 15:14:58,242 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-28 15:14:58,242 INFO L290 TraceCheckUtils]: 16: Hoare triple {55294#true} #res := ~returnVal2~0; {55294#true} is VALID [2022-04-28 15:14:58,243 INFO L290 TraceCheckUtils]: 17: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,243 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1192#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,245 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-28 15:14:58,245 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-28 15:14:58,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55294#true} {55294#true} #1270#return; {55294#true} is VALID [2022-04-28 15:14:58,245 INFO L272 TraceCheckUtils]: 4: Hoare triple {55294#true} call #t~ret213 := main(); {55294#true} is VALID [2022-04-28 15:14:58,245 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-28 15:14:58,246 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-28 15:14:58,246 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-28 15:14:58,246 INFO L290 TraceCheckUtils]: 8: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,247 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {55294#true} {55294#true} #1216#return; {55294#true} is VALID [2022-04-28 15:14:58,247 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-28 15:14:58,247 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-28 15:14:58,247 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-28 15:14:58,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {55294#true} ~cond := #in~cond; {55294#true} is VALID [2022-04-28 15:14:58,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {55294#true} assume !(0 == ~cond); {55294#true} is VALID [2022-04-28 15:14:58,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,248 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {55294#true} {55294#true} #1254#return; {55294#true} is VALID [2022-04-28 15:14:58,248 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-28 15:14:58,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,248 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {55294#true} {55294#true} #1218#return; {55294#true} is VALID [2022-04-28 15:14:58,248 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-28 15:14:58,248 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-28 15:14:58,249 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-28 15:14:58,250 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-28 15:14:58,250 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-28 15:14:58,251 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-28 15:14:58,251 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-28 15:14:58,251 INFO L290 TraceCheckUtils]: 27: Hoare triple {55294#true} assume !(0 == ~__BLAST_NONDET~5); {55294#true} is VALID [2022-04-28 15:14:58,251 INFO L290 TraceCheckUtils]: 28: Hoare triple {55294#true} #res := -1073741823; {55294#true} is VALID [2022-04-28 15:14:58,251 INFO L290 TraceCheckUtils]: 29: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,251 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {55294#true} {55294#true} #1176#return; {55294#true} is VALID [2022-04-28 15:14:58,251 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-28 15:14:58,251 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-28 15:14:58,251 INFO L290 TraceCheckUtils]: 33: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,252 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1220#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,252 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-28 15:14:58,253 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-28 15:14:58,253 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-28 15:14:58,253 INFO L290 TraceCheckUtils]: 38: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,253 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1222#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,254 INFO L290 TraceCheckUtils]: 40: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !!(~status~5 >= 0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,254 INFO L290 TraceCheckUtils]: 41: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(0 == ~__BLAST_NONDET~0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,254 INFO L290 TraceCheckUtils]: 42: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(1 == ~__BLAST_NONDET~0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,254 INFO L290 TraceCheckUtils]: 43: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(2 == ~__BLAST_NONDET~0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,255 INFO L290 TraceCheckUtils]: 44: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume 3 == ~__BLAST_NONDET~0; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,255 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-28 15:14:58,255 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-28 15:14:58,256 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-28 15:14:58,256 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-28 15:14:58,257 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-28 15:14:58,257 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-28 15:14:58,257 INFO L290 TraceCheckUtils]: 51: Hoare triple {55294#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {55294#true} is VALID [2022-04-28 15:14:58,257 INFO L290 TraceCheckUtils]: 52: Hoare triple {55294#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {55294#true} is VALID [2022-04-28 15:14:58,257 INFO L290 TraceCheckUtils]: 53: Hoare triple {55294#true} assume #res.base == dest.base && #res.offset == dest.offset; {55294#true} is VALID [2022-04-28 15:14:58,258 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1186#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,258 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-28 15:14:58,258 INFO L290 TraceCheckUtils]: 56: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(~s~0 != ~NP~0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,258 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-28 15:14:58,259 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-28 15:14:58,260 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-28 15:14:58,260 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-28 15:14:58,260 INFO L290 TraceCheckUtils]: 61: Hoare triple {55294#true} assume 0 != ~compRegistered~0; {55294#true} is VALID [2022-04-28 15:14:58,260 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-28 15:14:58,261 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-28 15:14:58,271 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-28 15:14:58,271 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-28 15:14:58,271 INFO L290 TraceCheckUtils]: 66: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,271 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {55294#true} {55294#true} #1174#return; {55294#true} is VALID [2022-04-28 15:14:58,271 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-28 15:14:58,271 INFO L290 TraceCheckUtils]: 69: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,272 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {55294#true} {55294#true} #1210#return; {55294#true} is VALID [2022-04-28 15:14:58,272 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-28 15:14:58,272 INFO L290 TraceCheckUtils]: 72: Hoare triple {55294#true} assume !(-1073741802 == ~compRetStatus~0); {55294#true} is VALID [2022-04-28 15:14:58,272 INFO L290 TraceCheckUtils]: 73: Hoare triple {55294#true} assume 0 == ~__BLAST_NONDET~11; {55294#true} is VALID [2022-04-28 15:14:58,272 INFO L290 TraceCheckUtils]: 74: Hoare triple {55294#true} ~returnVal2~0 := 0; {55294#true} is VALID [2022-04-28 15:14:58,272 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-28 15:14:58,272 INFO L290 TraceCheckUtils]: 76: Hoare triple {55294#true} #res := ~returnVal2~0; {55294#true} is VALID [2022-04-28 15:14:58,272 INFO L290 TraceCheckUtils]: 77: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-28 15:14:58,273 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1192#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,273 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-28 15:14:58,273 INFO L290 TraceCheckUtils]: 80: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(259 == ~status~3); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,273 INFO L290 TraceCheckUtils]: 81: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume ~status~3 >= 0; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-28 15:14:58,274 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-28 15:14:58,274 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-28 15:14:58,274 INFO L272 TraceCheckUtils]: 84: Hoare triple {55295#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {55295#false} is VALID [2022-04-28 15:14:58,274 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-28 15:14:58,274 INFO L290 TraceCheckUtils]: 86: Hoare triple {55295#false} assume !(~s~0 == ~NP~0); {55295#false} is VALID [2022-04-28 15:14:58,274 INFO L272 TraceCheckUtils]: 87: Hoare triple {55295#false} call errorFn(); {55295#false} is VALID [2022-04-28 15:14:58,275 INFO L290 TraceCheckUtils]: 88: Hoare triple {55295#false} assume !false; {55295#false} is VALID [2022-04-28 15:14:58,275 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-28 15:14:58,275 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:14:58,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1289525412] [2022-04-28 15:14:58,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1289525412] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:58,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:58,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:14:58,275 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:14:58,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1610881092] [2022-04-28 15:14:58,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1610881092] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:14:58,276 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:14:58,276 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 15:14:58,276 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [176829123] [2022-04-28 15:14:58,276 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:14:58,276 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-28 15:14:58,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:14:58,276 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-28 15:14:58,340 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-28 15:14:58,340 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 15:14:58,340 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:14:58,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 15:14:58,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 15:14:58,340 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-28 15:15:00,445 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-28 15:15:06,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:06,244 INFO L93 Difference]: Finished difference Result 437 states and 522 transitions. [2022-04-28 15:15:06,244 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 15:15:06,244 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-28 15:15:06,245 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:15:06,245 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-28 15:15:06,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 383 transitions. [2022-04-28 15:15:06,247 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-28 15:15:06,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 383 transitions. [2022-04-28 15:15:06,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 383 transitions. [2022-04-28 15:15:06,715 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-28 15:15:06,724 INFO L225 Difference]: With dead ends: 437 [2022-04-28 15:15:06,724 INFO L226 Difference]: Without dead ends: 408 [2022-04-28 15:15:06,724 INFO L412 NwaCegarLoop]: 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-28 15:15:06,725 INFO L413 NwaCegarLoop]: 142 mSDtfsCounter, 363 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 542 mSolverCounterSat, 172 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 15:15:06,725 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [369 Valid, 296 Invalid, 715 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [172 Valid, 542 Invalid, 1 Unknown, 0 Unchecked, 4.2s Time] [2022-04-28 15:15:06,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 408 states. [2022-04-28 15:15:07,382 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 408 to 345. [2022-04-28 15:15:07,382 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:15:07,382 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-28 15:15:07,383 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-28 15:15:07,383 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-28 15:15:07,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:07,389 INFO L93 Difference]: Finished difference Result 408 states and 489 transitions. [2022-04-28 15:15:07,389 INFO L276 IsEmpty]: Start isEmpty. Operand 408 states and 489 transitions. [2022-04-28 15:15:07,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:07,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:07,390 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-28 15:15:07,390 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-28 15:15:07,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:07,396 INFO L93 Difference]: Finished difference Result 408 states and 489 transitions. [2022-04-28 15:15:07,396 INFO L276 IsEmpty]: Start isEmpty. Operand 408 states and 489 transitions. [2022-04-28 15:15:07,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:07,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:07,397 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:15:07,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:15:07,397 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-28 15:15:07,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 345 states to 345 states and 409 transitions. [2022-04-28 15:15:07,403 INFO L78 Accepts]: Start accepts. Automaton has 345 states and 409 transitions. Word has length 89 [2022-04-28 15:15:07,403 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:15:07,403 INFO L495 AbstractCegarLoop]: Abstraction has 345 states and 409 transitions. [2022-04-28 15:15:07,403 INFO L496 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-28 15:15:07,403 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 345 states and 409 transitions. [2022-04-28 15:15:08,285 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-28 15:15:08,285 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 409 transitions. [2022-04-28 15:15:08,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 15:15:08,285 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:15:08,285 INFO L195 NwaCegarLoop]: 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-28 15:15:08,286 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23 [2022-04-28 15:15:08,286 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:15:08,286 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:15:08,286 INFO L85 PathProgramCache]: Analyzing trace with hash 450072055, now seen corresponding path program 1 times [2022-04-28 15:15:08,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:08,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [28430843] [2022-04-28 15:15:08,286 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:15:08,286 INFO L85 PathProgramCache]: Analyzing trace with hash 450072055, now seen corresponding path program 2 times [2022-04-28 15:15:08,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:15:08,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257405103] [2022-04-28 15:15:08,287 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:15:08,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:15:08,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,438 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:15:08,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,448 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-28 15:15:08,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,448 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57783#true} {57783#true} #1270#return; {57783#true} is VALID [2022-04-28 15:15:08,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:15:08,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,477 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-28 15:15:08,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,477 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57783#true} {57783#true} #1216#return; {57783#true} is VALID [2022-04-28 15:15:08,484 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:15:08,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,497 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:08,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,507 INFO L290 TraceCheckUtils]: 0: Hoare triple {57783#true} ~cond := #in~cond; {57783#true} is VALID [2022-04-28 15:15:08,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume !(0 == ~cond); {57783#true} is VALID [2022-04-28 15:15:08,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57783#true} {57783#true} #1254#return; {57783#true} is VALID [2022-04-28 15:15:08,507 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-28 15:15:08,508 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-28 15:15:08,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} ~cond := #in~cond; {57783#true} is VALID [2022-04-28 15:15:08,508 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume !(0 == ~cond); {57783#true} is VALID [2022-04-28 15:15:08,508 INFO L290 TraceCheckUtils]: 4: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,508 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {57783#true} {57783#true} #1254#return; {57783#true} is VALID [2022-04-28 15:15:08,508 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-28 15:15:08,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,508 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {57783#true} {57783#true} #1218#return; {57783#true} is VALID [2022-04-28 15:15:08,517 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:15:08,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,536 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:08,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,541 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-28 15:15:08,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume !(0 == ~__BLAST_NONDET~5); {57783#true} is VALID [2022-04-28 15:15:08,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} #res := -1073741823; {57783#true} is VALID [2022-04-28 15:15:08,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,542 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57783#true} {57783#true} #1176#return; {57783#true} is VALID [2022-04-28 15:15:08,542 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-28 15:15:08,543 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-28 15:15:08,543 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-28 15:15:08,543 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume !(0 == ~__BLAST_NONDET~5); {57783#true} is VALID [2022-04-28 15:15:08,543 INFO L290 TraceCheckUtils]: 4: Hoare triple {57783#true} #res := -1073741823; {57783#true} is VALID [2022-04-28 15:15:08,543 INFO L290 TraceCheckUtils]: 5: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,543 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {57783#true} {57783#true} #1176#return; {57783#true} is VALID [2022-04-28 15:15:08,543 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-28 15:15:08,544 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-28 15:15:08,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} assume true; {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-28 15:15:08,544 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-28 15:15:08,558 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 15:15:08,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,564 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-28 15:15:08,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,564 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-28 15:15:08,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-28 15:15:08,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,570 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-28 15:15:08,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {57783#true} is VALID [2022-04-28 15:15:08,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {57783#true} is VALID [2022-04-28 15:15:08,570 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume #res.base == dest.base && #res.offset == dest.offset; {57783#true} is VALID [2022-04-28 15:15:08,570 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57783#true} {57784#false} #1186#return; {57784#false} is VALID [2022-04-28 15:15:08,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-28 15:15:08,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,595 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:15:08,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,601 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:08,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:08,606 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-28 15:15:08,606 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,606 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57783#true} {57783#true} #1174#return; {57783#true} is VALID [2022-04-28 15:15:08,606 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-28 15:15:08,607 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-28 15:15:08,607 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-28 15:15:08,607 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,607 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57783#true} {57783#true} #1174#return; {57783#true} is VALID [2022-04-28 15:15:08,607 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-28 15:15:08,607 INFO L290 TraceCheckUtils]: 6: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,607 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {57783#true} {57783#true} #1210#return; {57783#true} is VALID [2022-04-28 15:15:08,607 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-28 15:15:08,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume 0 != ~compRegistered~0; {57783#true} is VALID [2022-04-28 15:15:08,608 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-28 15:15:08,608 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-28 15:15:08,609 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-28 15:15:08,609 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-28 15:15:08,609 INFO L290 TraceCheckUtils]: 6: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,609 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {57783#true} {57783#true} #1174#return; {57783#true} is VALID [2022-04-28 15:15:08,609 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-28 15:15:08,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,609 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {57783#true} {57783#true} #1210#return; {57783#true} is VALID [2022-04-28 15:15:08,609 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-28 15:15:08,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {57783#true} assume !(-1073741802 == ~compRetStatus~0); {57783#true} is VALID [2022-04-28 15:15:08,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {57783#true} assume 0 == ~__BLAST_NONDET~11; {57783#true} is VALID [2022-04-28 15:15:08,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {57783#true} ~returnVal2~0 := 0; {57783#true} is VALID [2022-04-28 15:15:08,609 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-28 15:15:08,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {57783#true} #res := ~returnVal2~0; {57783#true} is VALID [2022-04-28 15:15:08,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,610 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {57783#true} {57784#false} #1192#return; {57784#false} is VALID [2022-04-28 15:15:08,611 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-28 15:15:08,611 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-28 15:15:08,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57783#true} {57783#true} #1270#return; {57783#true} is VALID [2022-04-28 15:15:08,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {57783#true} call #t~ret213 := main(); {57783#true} is VALID [2022-04-28 15:15:08,611 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-28 15:15:08,612 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-28 15:15:08,612 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-28 15:15:08,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,612 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {57783#true} {57783#true} #1216#return; {57783#true} is VALID [2022-04-28 15:15:08,613 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-28 15:15:08,613 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-28 15:15:08,613 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-28 15:15:08,613 INFO L290 TraceCheckUtils]: 13: Hoare triple {57783#true} ~cond := #in~cond; {57783#true} is VALID [2022-04-28 15:15:08,613 INFO L290 TraceCheckUtils]: 14: Hoare triple {57783#true} assume !(0 == ~cond); {57783#true} is VALID [2022-04-28 15:15:08,613 INFO L290 TraceCheckUtils]: 15: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,613 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {57783#true} {57783#true} #1254#return; {57783#true} is VALID [2022-04-28 15:15:08,613 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-28 15:15:08,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,613 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {57783#true} {57783#true} #1218#return; {57783#true} is VALID [2022-04-28 15:15:08,613 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-28 15:15:08,613 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-28 15:15:08,614 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-28 15:15:08,614 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-28 15:15:08,614 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-28 15:15:08,615 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-28 15:15:08,615 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-28 15:15:08,615 INFO L290 TraceCheckUtils]: 27: Hoare triple {57783#true} assume !(0 == ~__BLAST_NONDET~5); {57783#true} is VALID [2022-04-28 15:15:08,616 INFO L290 TraceCheckUtils]: 28: Hoare triple {57783#true} #res := -1073741823; {57783#true} is VALID [2022-04-28 15:15:08,616 INFO L290 TraceCheckUtils]: 29: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,616 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {57783#true} {57783#true} #1176#return; {57783#true} is VALID [2022-04-28 15:15:08,616 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-28 15:15:08,616 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-28 15:15:08,616 INFO L290 TraceCheckUtils]: 33: Hoare triple {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} assume true; {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-28 15:15:08,617 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-28 15:15:08,617 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-28 15:15:08,618 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-28 15:15:08,618 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-28 15:15:08,618 INFO L290 TraceCheckUtils]: 38: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,618 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-28 15:15:08,619 INFO L290 TraceCheckUtils]: 40: Hoare triple {57812#(<= (+ main_~status~5 1) 0)} assume !!(~status~5 >= 0); {57784#false} is VALID [2022-04-28 15:15:08,619 INFO L290 TraceCheckUtils]: 41: Hoare triple {57784#false} assume !(0 == ~__BLAST_NONDET~0); {57784#false} is VALID [2022-04-28 15:15:08,619 INFO L290 TraceCheckUtils]: 42: Hoare triple {57784#false} assume !(1 == ~__BLAST_NONDET~0); {57784#false} is VALID [2022-04-28 15:15:08,619 INFO L290 TraceCheckUtils]: 43: Hoare triple {57784#false} assume !(2 == ~__BLAST_NONDET~0); {57784#false} is VALID [2022-04-28 15:15:08,619 INFO L290 TraceCheckUtils]: 44: Hoare triple {57784#false} assume 3 == ~__BLAST_NONDET~0; {57784#false} is VALID [2022-04-28 15:15:08,619 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-28 15:15:08,619 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-28 15:15:08,619 INFO L290 TraceCheckUtils]: 47: Hoare triple {57784#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {57784#false} is VALID [2022-04-28 15:15:08,619 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-28 15:15:08,619 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-28 15:15:08,619 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-28 15:15:08,619 INFO L290 TraceCheckUtils]: 51: Hoare triple {57783#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {57783#true} is VALID [2022-04-28 15:15:08,619 INFO L290 TraceCheckUtils]: 52: Hoare triple {57783#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {57783#true} is VALID [2022-04-28 15:15:08,620 INFO L290 TraceCheckUtils]: 53: Hoare triple {57783#true} assume #res.base == dest.base && #res.offset == dest.offset; {57783#true} is VALID [2022-04-28 15:15:08,620 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {57783#true} {57784#false} #1186#return; {57784#false} is VALID [2022-04-28 15:15:08,620 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-28 15:15:08,620 INFO L290 TraceCheckUtils]: 56: Hoare triple {57784#false} assume !(~s~0 != ~NP~0); {57784#false} is VALID [2022-04-28 15:15:08,620 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-28 15:15:08,620 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-28 15:15:08,620 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-28 15:15:08,620 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-28 15:15:08,620 INFO L290 TraceCheckUtils]: 61: Hoare triple {57783#true} assume 0 != ~compRegistered~0; {57783#true} is VALID [2022-04-28 15:15:08,621 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-28 15:15:08,621 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-28 15:15:08,621 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-28 15:15:08,621 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-28 15:15:08,621 INFO L290 TraceCheckUtils]: 66: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,622 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {57783#true} {57783#true} #1174#return; {57783#true} is VALID [2022-04-28 15:15:08,622 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-28 15:15:08,622 INFO L290 TraceCheckUtils]: 69: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,622 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {57783#true} {57783#true} #1210#return; {57783#true} is VALID [2022-04-28 15:15:08,622 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-28 15:15:08,622 INFO L290 TraceCheckUtils]: 72: Hoare triple {57783#true} assume !(-1073741802 == ~compRetStatus~0); {57783#true} is VALID [2022-04-28 15:15:08,622 INFO L290 TraceCheckUtils]: 73: Hoare triple {57783#true} assume 0 == ~__BLAST_NONDET~11; {57783#true} is VALID [2022-04-28 15:15:08,622 INFO L290 TraceCheckUtils]: 74: Hoare triple {57783#true} ~returnVal2~0 := 0; {57783#true} is VALID [2022-04-28 15:15:08,622 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-28 15:15:08,622 INFO L290 TraceCheckUtils]: 76: Hoare triple {57783#true} #res := ~returnVal2~0; {57783#true} is VALID [2022-04-28 15:15:08,622 INFO L290 TraceCheckUtils]: 77: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-28 15:15:08,622 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {57783#true} {57784#false} #1192#return; {57784#false} is VALID [2022-04-28 15:15:08,622 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-28 15:15:08,622 INFO L290 TraceCheckUtils]: 80: Hoare triple {57784#false} assume !(259 == ~status~3); {57784#false} is VALID [2022-04-28 15:15:08,622 INFO L290 TraceCheckUtils]: 81: Hoare triple {57784#false} assume ~status~3 >= 0; {57784#false} is VALID [2022-04-28 15:15:08,623 INFO L290 TraceCheckUtils]: 82: Hoare triple {57784#false} assume !(~myStatus~0 >= 0); {57784#false} is VALID [2022-04-28 15:15:08,623 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-28 15:15:08,623 INFO L272 TraceCheckUtils]: 84: Hoare triple {57784#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {57784#false} is VALID [2022-04-28 15:15:08,623 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-28 15:15:08,623 INFO L290 TraceCheckUtils]: 86: Hoare triple {57784#false} assume !(~s~0 == ~NP~0); {57784#false} is VALID [2022-04-28 15:15:08,623 INFO L272 TraceCheckUtils]: 87: Hoare triple {57784#false} call errorFn(); {57784#false} is VALID [2022-04-28 15:15:08,623 INFO L290 TraceCheckUtils]: 88: Hoare triple {57784#false} assume !false; {57784#false} is VALID [2022-04-28 15:15:08,623 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-28 15:15:08,623 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:15:08,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1257405103] [2022-04-28 15:15:08,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1257405103] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:08,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:15:08,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 15:15:08,624 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:15:08,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [28430843] [2022-04-28 15:15:08,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [28430843] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:08,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:15:08,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 15:15:08,624 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556373969] [2022-04-28 15:15:08,624 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:15:08,624 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-28 15:15:08,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:15:08,625 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-28 15:15:08,685 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-28 15:15:08,685 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 15:15:08,685 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:08,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 15:15:08,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-28 15:15:08,687 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-28 15:15:10,816 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-28 15:15:19,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:19,725 INFO L93 Difference]: Finished difference Result 657 states and 796 transitions. [2022-04-28 15:15:19,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 15:15:19,725 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-28 15:15:19,725 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:15:19,725 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-28 15:15:19,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 311 transitions. [2022-04-28 15:15:19,727 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-28 15:15:19,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 311 transitions. [2022-04-28 15:15:19,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 311 transitions. [2022-04-28 15:15:20,023 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-28 15:15:20,032 INFO L225 Difference]: With dead ends: 657 [2022-04-28 15:15:20,032 INFO L226 Difference]: Without dead ends: 399 [2022-04-28 15:15:20,033 INFO L412 NwaCegarLoop]: 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-28 15:15:20,033 INFO L413 NwaCegarLoop]: 140 mSDtfsCounter, 220 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 769 mSolverCounterSat, 111 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s 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, 5.0s IncrementalHoareTripleChecker+Time [2022-04-28 15:15:20,033 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [224 Valid, 377 Invalid, 881 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [111 Valid, 769 Invalid, 1 Unknown, 0 Unchecked, 5.0s Time] [2022-04-28 15:15:20,033 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 399 states. [2022-04-28 15:15:20,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 399 to 337. [2022-04-28 15:15:20,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:15:20,641 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-28 15:15:20,641 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-28 15:15:20,641 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-28 15:15:20,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:20,647 INFO L93 Difference]: Finished difference Result 399 states and 479 transitions. [2022-04-28 15:15:20,648 INFO L276 IsEmpty]: Start isEmpty. Operand 399 states and 479 transitions. [2022-04-28 15:15:20,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:20,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:20,648 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-28 15:15:20,649 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-28 15:15:20,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:20,654 INFO L93 Difference]: Finished difference Result 399 states and 479 transitions. [2022-04-28 15:15:20,655 INFO L276 IsEmpty]: Start isEmpty. Operand 399 states and 479 transitions. [2022-04-28 15:15:20,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:20,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:20,655 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:15:20,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:15:20,655 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-28 15:15:20,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 337 states to 337 states and 399 transitions. [2022-04-28 15:15:20,661 INFO L78 Accepts]: Start accepts. Automaton has 337 states and 399 transitions. Word has length 89 [2022-04-28 15:15:20,661 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:15:20,661 INFO L495 AbstractCegarLoop]: Abstraction has 337 states and 399 transitions. [2022-04-28 15:15:20,661 INFO L496 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-28 15:15:20,661 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 337 states and 399 transitions. [2022-04-28 15:15:21,556 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-28 15:15:21,556 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 399 transitions. [2022-04-28 15:15:21,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 15:15:21,557 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:15:21,557 INFO L195 NwaCegarLoop]: 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-28 15:15:21,557 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24 [2022-04-28 15:15:21,557 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:15:21,557 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:15:21,557 INFO L85 PathProgramCache]: Analyzing trace with hash -623916271, now seen corresponding path program 1 times [2022-04-28 15:15:21,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:21,558 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [786651340] [2022-04-28 15:15:21,558 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 15:15:21,558 INFO L85 PathProgramCache]: Analyzing trace with hash -623916271, now seen corresponding path program 2 times [2022-04-28 15:15:21,558 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:15:21,558 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [501261732] [2022-04-28 15:15:21,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:15:21,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:15:21,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:21,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:15:21,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:21,919 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-28 15:15:21,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:21,919 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60666#true} {60666#true} #1270#return; {60666#true} is VALID [2022-04-28 15:15:21,941 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:15:21,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:21,948 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-28 15:15:21,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:21,948 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60666#true} {60666#true} #1216#return; {60666#true} is VALID [2022-04-28 15:15:21,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:15:21,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:21,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:21,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:21,982 INFO L290 TraceCheckUtils]: 0: Hoare triple {60666#true} ~cond := #in~cond; {60666#true} is VALID [2022-04-28 15:15:21,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume !(0 == ~cond); {60666#true} is VALID [2022-04-28 15:15:21,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:21,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60666#true} {60666#true} #1254#return; {60666#true} is VALID [2022-04-28 15:15:21,983 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-28 15:15:21,983 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-28 15:15:21,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} ~cond := #in~cond; {60666#true} is VALID [2022-04-28 15:15:21,983 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume !(0 == ~cond); {60666#true} is VALID [2022-04-28 15:15:21,983 INFO L290 TraceCheckUtils]: 4: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:21,983 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {60666#true} {60666#true} #1254#return; {60666#true} is VALID [2022-04-28 15:15:21,983 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-28 15:15:21,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:21,983 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {60666#true} {60666#true} #1218#return; {60666#true} is VALID [2022-04-28 15:15:21,992 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:15:22,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:22,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,037 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-28 15:15:22,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~5; {60666#true} is VALID [2022-04-28 15:15:22,038 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-28 15:15:22,038 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,038 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60666#true} {60666#true} #1176#return; {60666#true} is VALID [2022-04-28 15:15:22,038 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:15:22,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,091 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-28 15:15:22,092 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-28 15:15:22,093 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-28 15:15:22,093 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-28 15:15:22,094 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-28 15:15:22,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,099 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-28 15:15:22,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~2; {60666#true} is VALID [2022-04-28 15:15:22,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60666#true} is VALID [2022-04-28 15:15:22,100 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,100 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60666#true} {60667#false} #1180#return; {60667#false} is VALID [2022-04-28 15:15:22,100 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-28 15:15:22,101 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-28 15:15:22,101 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-28 15:15:22,101 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~5; {60666#true} is VALID [2022-04-28 15:15:22,101 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-28 15:15:22,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,101 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {60666#true} {60666#true} #1176#return; {60666#true} is VALID [2022-04-28 15:15:22,102 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-28 15:15:22,102 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-28 15:15:22,102 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-28 15:15:22,103 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-28 15:15:22,103 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-28 15:15:22,104 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-28 15:15:22,104 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-28 15:15:22,104 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-28 15:15:22,105 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-28 15:15:22,105 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-28 15:15:22,105 INFO L290 TraceCheckUtils]: 17: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~2; {60666#true} is VALID [2022-04-28 15:15:22,105 INFO L290 TraceCheckUtils]: 18: Hoare triple {60666#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60666#true} is VALID [2022-04-28 15:15:22,105 INFO L290 TraceCheckUtils]: 19: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,105 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {60666#true} {60667#false} #1180#return; {60667#false} is VALID [2022-04-28 15:15:22,105 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-28 15:15:22,105 INFO L290 TraceCheckUtils]: 22: Hoare triple {60667#false} assume true; {60667#false} is VALID [2022-04-28 15:15:22,105 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {60667#false} {60666#true} #1220#return; {60667#false} is VALID [2022-04-28 15:15:22,119 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-28 15:15:22,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,125 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-28 15:15:22,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,125 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60666#true} {60667#false} #1222#return; {60667#false} is VALID [2022-04-28 15:15:22,125 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 62 [2022-04-28 15:15:22,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,131 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-28 15:15:22,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {60666#true} is VALID [2022-04-28 15:15:22,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {60666#true} is VALID [2022-04-28 15:15:22,132 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume #res.base == dest.base && #res.offset == dest.offset; {60666#true} is VALID [2022-04-28 15:15:22,132 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60666#true} {60667#false} #1186#return; {60667#false} is VALID [2022-04-28 15:15:22,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 72 [2022-04-28 15:15:22,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,159 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:15:22,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,165 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:22,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:22,171 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-28 15:15:22,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,172 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60666#true} {60666#true} #1174#return; {60666#true} is VALID [2022-04-28 15:15:22,172 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-28 15:15:22,172 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-28 15:15:22,172 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-28 15:15:22,172 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,173 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60666#true} {60666#true} #1174#return; {60666#true} is VALID [2022-04-28 15:15:22,173 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-28 15:15:22,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,173 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {60666#true} {60666#true} #1210#return; {60666#true} is VALID [2022-04-28 15:15:22,173 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-28 15:15:22,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume 0 != ~compRegistered~0; {60666#true} is VALID [2022-04-28 15:15:22,174 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-28 15:15:22,174 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-28 15:15:22,174 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-28 15:15:22,174 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-28 15:15:22,175 INFO L290 TraceCheckUtils]: 6: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,175 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {60666#true} {60666#true} #1174#return; {60666#true} is VALID [2022-04-28 15:15:22,175 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-28 15:15:22,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60666#true} {60666#true} #1210#return; {60666#true} is VALID [2022-04-28 15:15:22,175 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-28 15:15:22,175 INFO L290 TraceCheckUtils]: 12: Hoare triple {60666#true} assume !(-1073741802 == ~compRetStatus~0); {60666#true} is VALID [2022-04-28 15:15:22,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~11; {60666#true} is VALID [2022-04-28 15:15:22,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {60666#true} ~returnVal2~0 := 0; {60666#true} is VALID [2022-04-28 15:15:22,175 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-28 15:15:22,175 INFO L290 TraceCheckUtils]: 16: Hoare triple {60666#true} #res := ~returnVal2~0; {60666#true} is VALID [2022-04-28 15:15:22,175 INFO L290 TraceCheckUtils]: 17: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,175 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {60666#true} {60667#false} #1192#return; {60667#false} is VALID [2022-04-28 15:15:22,177 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-28 15:15:22,177 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-28 15:15:22,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60666#true} {60666#true} #1270#return; {60666#true} is VALID [2022-04-28 15:15:22,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {60666#true} call #t~ret213 := main(); {60666#true} is VALID [2022-04-28 15:15:22,177 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-28 15:15:22,184 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-28 15:15:22,185 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-28 15:15:22,185 INFO L290 TraceCheckUtils]: 8: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,185 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {60666#true} {60666#true} #1216#return; {60666#true} is VALID [2022-04-28 15:15:22,186 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-28 15:15:22,186 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-28 15:15:22,186 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-28 15:15:22,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {60666#true} ~cond := #in~cond; {60666#true} is VALID [2022-04-28 15:15:22,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {60666#true} assume !(0 == ~cond); {60666#true} is VALID [2022-04-28 15:15:22,186 INFO L290 TraceCheckUtils]: 15: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,186 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {60666#true} {60666#true} #1254#return; {60666#true} is VALID [2022-04-28 15:15:22,186 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-28 15:15:22,186 INFO L290 TraceCheckUtils]: 18: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,186 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {60666#true} {60666#true} #1218#return; {60666#true} is VALID [2022-04-28 15:15:22,186 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-28 15:15:22,186 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-28 15:15:22,186 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-28 15:15:22,187 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-28 15:15:22,187 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-28 15:15:22,188 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-28 15:15:22,189 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-28 15:15:22,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~5; {60666#true} is VALID [2022-04-28 15:15:22,189 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-28 15:15:22,189 INFO L290 TraceCheckUtils]: 29: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,189 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {60666#true} {60666#true} #1176#return; {60666#true} is VALID [2022-04-28 15:15:22,189 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-28 15:15:22,189 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-28 15:15:22,190 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-28 15:15:22,190 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-28 15:15:22,191 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-28 15:15:22,191 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-28 15:15:22,192 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-28 15:15:22,192 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-28 15:15:22,192 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-28 15:15:22,192 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-28 15:15:22,192 INFO L290 TraceCheckUtils]: 41: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~2; {60666#true} is VALID [2022-04-28 15:15:22,192 INFO L290 TraceCheckUtils]: 42: Hoare triple {60666#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60666#true} is VALID [2022-04-28 15:15:22,192 INFO L290 TraceCheckUtils]: 43: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,192 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {60666#true} {60667#false} #1180#return; {60667#false} is VALID [2022-04-28 15:15:22,192 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-28 15:15:22,192 INFO L290 TraceCheckUtils]: 46: Hoare triple {60667#false} assume true; {60667#false} is VALID [2022-04-28 15:15:22,192 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {60667#false} {60666#true} #1220#return; {60667#false} is VALID [2022-04-28 15:15:22,193 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-28 15:15:22,193 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-28 15:15:22,193 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-28 15:15:22,193 INFO L290 TraceCheckUtils]: 51: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,193 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {60666#true} {60667#false} #1222#return; {60667#false} is VALID [2022-04-28 15:15:22,193 INFO L290 TraceCheckUtils]: 53: Hoare triple {60667#false} assume !!(~status~5 >= 0); {60667#false} is VALID [2022-04-28 15:15:22,193 INFO L290 TraceCheckUtils]: 54: Hoare triple {60667#false} assume !(0 == ~__BLAST_NONDET~0); {60667#false} is VALID [2022-04-28 15:15:22,193 INFO L290 TraceCheckUtils]: 55: Hoare triple {60667#false} assume !(1 == ~__BLAST_NONDET~0); {60667#false} is VALID [2022-04-28 15:15:22,193 INFO L290 TraceCheckUtils]: 56: Hoare triple {60667#false} assume !(2 == ~__BLAST_NONDET~0); {60667#false} is VALID [2022-04-28 15:15:22,193 INFO L290 TraceCheckUtils]: 57: Hoare triple {60667#false} assume 3 == ~__BLAST_NONDET~0; {60667#false} is VALID [2022-04-28 15:15:22,193 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-28 15:15:22,193 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-28 15:15:22,193 INFO L290 TraceCheckUtils]: 60: Hoare triple {60667#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {60667#false} is VALID [2022-04-28 15:15:22,193 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-28 15:15:22,193 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-28 15:15:22,194 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-28 15:15:22,194 INFO L290 TraceCheckUtils]: 64: Hoare triple {60666#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {60666#true} is VALID [2022-04-28 15:15:22,194 INFO L290 TraceCheckUtils]: 65: Hoare triple {60666#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {60666#true} is VALID [2022-04-28 15:15:22,194 INFO L290 TraceCheckUtils]: 66: Hoare triple {60666#true} assume #res.base == dest.base && #res.offset == dest.offset; {60666#true} is VALID [2022-04-28 15:15:22,194 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {60666#true} {60667#false} #1186#return; {60667#false} is VALID [2022-04-28 15:15:22,194 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-28 15:15:22,194 INFO L290 TraceCheckUtils]: 69: Hoare triple {60667#false} assume !(~s~0 != ~NP~0); {60667#false} is VALID [2022-04-28 15:15:22,194 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-28 15:15:22,194 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-28 15:15:22,194 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-28 15:15:22,194 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-28 15:15:22,194 INFO L290 TraceCheckUtils]: 74: Hoare triple {60666#true} assume 0 != ~compRegistered~0; {60666#true} is VALID [2022-04-28 15:15:22,195 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-28 15:15:22,195 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-28 15:15:22,196 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-28 15:15:22,196 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-28 15:15:22,196 INFO L290 TraceCheckUtils]: 79: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,196 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {60666#true} {60666#true} #1174#return; {60666#true} is VALID [2022-04-28 15:15:22,196 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-28 15:15:22,196 INFO L290 TraceCheckUtils]: 82: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,196 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {60666#true} {60666#true} #1210#return; {60666#true} is VALID [2022-04-28 15:15:22,196 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-28 15:15:22,196 INFO L290 TraceCheckUtils]: 85: Hoare triple {60666#true} assume !(-1073741802 == ~compRetStatus~0); {60666#true} is VALID [2022-04-28 15:15:22,196 INFO L290 TraceCheckUtils]: 86: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~11; {60666#true} is VALID [2022-04-28 15:15:22,196 INFO L290 TraceCheckUtils]: 87: Hoare triple {60666#true} ~returnVal2~0 := 0; {60666#true} is VALID [2022-04-28 15:15:22,196 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-28 15:15:22,197 INFO L290 TraceCheckUtils]: 89: Hoare triple {60666#true} #res := ~returnVal2~0; {60666#true} is VALID [2022-04-28 15:15:22,197 INFO L290 TraceCheckUtils]: 90: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-28 15:15:22,197 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {60666#true} {60667#false} #1192#return; {60667#false} is VALID [2022-04-28 15:15:22,197 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-28 15:15:22,197 INFO L290 TraceCheckUtils]: 93: Hoare triple {60667#false} assume !(259 == ~status~3); {60667#false} is VALID [2022-04-28 15:15:22,197 INFO L290 TraceCheckUtils]: 94: Hoare triple {60667#false} assume ~status~3 >= 0; {60667#false} is VALID [2022-04-28 15:15:22,197 INFO L290 TraceCheckUtils]: 95: Hoare triple {60667#false} assume !(~myStatus~0 >= 0); {60667#false} is VALID [2022-04-28 15:15:22,197 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-28 15:15:22,197 INFO L272 TraceCheckUtils]: 97: Hoare triple {60667#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {60667#false} is VALID [2022-04-28 15:15:22,197 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-28 15:15:22,197 INFO L290 TraceCheckUtils]: 99: Hoare triple {60667#false} assume !(~s~0 == ~NP~0); {60667#false} is VALID [2022-04-28 15:15:22,197 INFO L272 TraceCheckUtils]: 100: Hoare triple {60667#false} call errorFn(); {60667#false} is VALID [2022-04-28 15:15:22,197 INFO L290 TraceCheckUtils]: 101: Hoare triple {60667#false} assume !false; {60667#false} is VALID [2022-04-28 15:15:22,198 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-28 15:15:22,198 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:15:22,198 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [501261732] [2022-04-28 15:15:22,198 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [501261732] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:22,198 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:15:22,198 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:15:22,198 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:15:22,198 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [786651340] [2022-04-28 15:15:22,198 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [786651340] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:22,198 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:15:22,198 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:15:22,199 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [346843342] [2022-04-28 15:15:22,199 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:15:22,200 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-28 15:15:22,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:15:22,200 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-28 15:15:22,283 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-28 15:15:22,283 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 15:15:22,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:22,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 15:15:22,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-28 15:15:22,284 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-28 15:15:24,409 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-28 15:15:29,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:29,573 INFO L93 Difference]: Finished difference Result 675 states and 810 transitions. [2022-04-28 15:15:29,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 15:15:29,573 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-28 15:15:29,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:15:29,573 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-28 15:15:29,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 318 transitions. [2022-04-28 15:15:29,575 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-28 15:15:29,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 318 transitions. [2022-04-28 15:15:29,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 318 transitions. [2022-04-28 15:15:29,871 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-28 15:15:29,879 INFO L225 Difference]: With dead ends: 675 [2022-04-28 15:15:29,879 INFO L226 Difference]: Without dead ends: 389 [2022-04-28 15:15:29,880 INFO L412 NwaCegarLoop]: 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-28 15:15:29,880 INFO L413 NwaCegarLoop]: 139 mSDtfsCounter, 275 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 469 mSolverCounterSat, 136 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 15:15:29,880 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [278 Valid, 313 Invalid, 606 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [136 Valid, 469 Invalid, 1 Unknown, 0 Unchecked, 3.5s Time] [2022-04-28 15:15:29,880 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 389 states. [2022-04-28 15:15:30,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 389 to 339. [2022-04-28 15:15:30,538 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:15:30,538 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-28 15:15:30,539 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-28 15:15:30,539 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-28 15:15:30,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:30,544 INFO L93 Difference]: Finished difference Result 389 states and 463 transitions. [2022-04-28 15:15:30,545 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 463 transitions. [2022-04-28 15:15:30,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:30,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:30,545 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-28 15:15:30,545 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-28 15:15:30,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:30,551 INFO L93 Difference]: Finished difference Result 389 states and 463 transitions. [2022-04-28 15:15:30,551 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 463 transitions. [2022-04-28 15:15:30,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:30,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:30,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:15:30,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:15:30,552 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-28 15:15:30,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 339 states to 339 states and 401 transitions. [2022-04-28 15:15:30,557 INFO L78 Accepts]: Start accepts. Automaton has 339 states and 401 transitions. Word has length 102 [2022-04-28 15:15:30,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:15:30,557 INFO L495 AbstractCegarLoop]: Abstraction has 339 states and 401 transitions. [2022-04-28 15:15:30,558 INFO L496 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-28 15:15:30,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 339 states and 401 transitions. [2022-04-28 15:15:31,452 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-28 15:15:31,453 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 401 transitions. [2022-04-28 15:15:31,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-28 15:15:31,453 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:15:31,453 INFO L195 NwaCegarLoop]: 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-28 15:15:31,453 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable25 [2022-04-28 15:15:31,453 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:15:31,454 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:15:31,454 INFO L85 PathProgramCache]: Analyzing trace with hash 1023672093, now seen corresponding path program 1 times [2022-04-28 15:15:31,454 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:31,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1258822530] [2022-04-28 15:15:31,471 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:15:31,471 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:15:31,471 INFO L85 PathProgramCache]: Analyzing trace with hash 1023672093, now seen corresponding path program 2 times [2022-04-28 15:15:31,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:15:31,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2018731875] [2022-04-28 15:15:31,472 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:15:31,472 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:15:31,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,796 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:15:31,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,802 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-28 15:15:31,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:31,802 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63592#true} {63592#true} #1270#return; {63592#true} is VALID [2022-04-28 15:15:31,820 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:15:31,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,825 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-28 15:15:31,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:31,825 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63592#true} {63592#true} #1216#return; {63592#true} is VALID [2022-04-28 15:15:31,831 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:15:31,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:31,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,849 INFO L290 TraceCheckUtils]: 0: Hoare triple {63592#true} ~cond := #in~cond; {63592#true} is VALID [2022-04-28 15:15:31,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume !(0 == ~cond); {63592#true} is VALID [2022-04-28 15:15:31,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:31,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63592#true} {63592#true} #1254#return; {63592#true} is VALID [2022-04-28 15:15:31,849 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-28 15:15:31,850 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-28 15:15:31,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} ~cond := #in~cond; {63592#true} is VALID [2022-04-28 15:15:31,850 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume !(0 == ~cond); {63592#true} is VALID [2022-04-28 15:15:31,850 INFO L290 TraceCheckUtils]: 4: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:31,850 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {63592#true} {63592#true} #1254#return; {63592#true} is VALID [2022-04-28 15:15:31,850 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-28 15:15:31,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:31,850 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {63592#true} {63592#true} #1218#return; {63592#true} is VALID [2022-04-28 15:15:31,858 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:15:31,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:31,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,901 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-28 15:15:31,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~5; {63592#true} is VALID [2022-04-28 15:15:31,902 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-28 15:15:31,902 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:31,902 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63592#true} {63592#true} #1176#return; {63592#true} is VALID [2022-04-28 15:15:31,902 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:15:31,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,976 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-28 15:15:31,977 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:31,978 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-28 15:15:31,979 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-28 15:15:31,980 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-28 15:15:31,980 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:15:31,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:31,990 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-28 15:15:31,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~2; {63592#true} is VALID [2022-04-28 15:15:31,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63592#true} is VALID [2022-04-28 15:15:31,990 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:31,991 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63592#true} {63593#false} #1180#return; {63593#false} is VALID [2022-04-28 15:15:31,991 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-28 15:15:31,992 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-28 15:15:31,992 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-28 15:15:31,992 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~5; {63592#true} is VALID [2022-04-28 15:15:31,992 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-28 15:15:31,992 INFO L290 TraceCheckUtils]: 5: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:31,992 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {63592#true} {63592#true} #1176#return; {63592#true} is VALID [2022-04-28 15:15:31,992 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-28 15:15:31,992 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-28 15:15:31,993 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-28 15:15:31,993 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-28 15:15:32,003 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:32,005 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-28 15:15:32,005 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-28 15:15:32,006 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-28 15:15:32,006 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-28 15:15:32,006 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-28 15:15:32,006 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-28 15:15:32,006 INFO L290 TraceCheckUtils]: 18: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~2; {63592#true} is VALID [2022-04-28 15:15:32,007 INFO L290 TraceCheckUtils]: 19: Hoare triple {63592#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63592#true} is VALID [2022-04-28 15:15:32,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,007 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {63592#true} {63593#false} #1180#return; {63593#false} is VALID [2022-04-28 15:15:32,007 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-28 15:15:32,007 INFO L290 TraceCheckUtils]: 23: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-28 15:15:32,007 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {63593#false} {63592#true} #1220#return; {63593#false} is VALID [2022-04-28 15:15:32,022 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:15:32,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:32,028 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-28 15:15:32,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,028 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63592#true} {63593#false} #1222#return; {63593#false} is VALID [2022-04-28 15:15:32,028 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:15:32,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:32,034 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-28 15:15:32,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {63592#true} is VALID [2022-04-28 15:15:32,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {63592#true} is VALID [2022-04-28 15:15:32,034 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume #res.base == dest.base && #res.offset == dest.offset; {63592#true} is VALID [2022-04-28 15:15:32,034 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63592#true} {63593#false} #1186#return; {63593#false} is VALID [2022-04-28 15:15:32,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-28 15:15:32,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:32,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:15:32,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:32,067 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:32,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:32,072 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-28 15:15:32,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,073 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63592#true} {63592#true} #1174#return; {63592#true} is VALID [2022-04-28 15:15:32,073 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-28 15:15:32,073 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-28 15:15:32,073 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-28 15:15:32,073 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,074 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63592#true} {63592#true} #1174#return; {63592#true} is VALID [2022-04-28 15:15:32,074 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-28 15:15:32,074 INFO L290 TraceCheckUtils]: 6: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,074 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {63592#true} {63592#true} #1210#return; {63592#true} is VALID [2022-04-28 15:15:32,074 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-28 15:15:32,074 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume 0 != ~compRegistered~0; {63592#true} is VALID [2022-04-28 15:15:32,075 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-28 15:15:32,075 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-28 15:15:32,075 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-28 15:15:32,075 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-28 15:15:32,075 INFO L290 TraceCheckUtils]: 6: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,076 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {63592#true} {63592#true} #1174#return; {63592#true} is VALID [2022-04-28 15:15:32,076 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-28 15:15:32,076 INFO L290 TraceCheckUtils]: 9: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,076 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63592#true} {63592#true} #1210#return; {63592#true} is VALID [2022-04-28 15:15:32,076 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-28 15:15:32,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {63592#true} assume !(-1073741802 == ~compRetStatus~0); {63592#true} is VALID [2022-04-28 15:15:32,076 INFO L290 TraceCheckUtils]: 13: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~11; {63592#true} is VALID [2022-04-28 15:15:32,076 INFO L290 TraceCheckUtils]: 14: Hoare triple {63592#true} ~returnVal2~0 := 0; {63592#true} is VALID [2022-04-28 15:15:32,076 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-28 15:15:32,076 INFO L290 TraceCheckUtils]: 16: Hoare triple {63592#true} #res := ~returnVal2~0; {63592#true} is VALID [2022-04-28 15:15:32,076 INFO L290 TraceCheckUtils]: 17: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,076 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {63592#true} {63593#false} #1192#return; {63593#false} is VALID [2022-04-28 15:15:32,078 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-28 15:15:32,078 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-28 15:15:32,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,078 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63592#true} {63592#true} #1270#return; {63592#true} is VALID [2022-04-28 15:15:32,078 INFO L272 TraceCheckUtils]: 4: Hoare triple {63592#true} call #t~ret213 := main(); {63592#true} is VALID [2022-04-28 15:15:32,078 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-28 15:15:32,079 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-28 15:15:32,080 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-28 15:15:32,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,080 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {63592#true} {63592#true} #1216#return; {63592#true} is VALID [2022-04-28 15:15:32,080 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-28 15:15:32,080 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-28 15:15:32,081 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-28 15:15:32,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {63592#true} ~cond := #in~cond; {63592#true} is VALID [2022-04-28 15:15:32,081 INFO L290 TraceCheckUtils]: 14: Hoare triple {63592#true} assume !(0 == ~cond); {63592#true} is VALID [2022-04-28 15:15:32,081 INFO L290 TraceCheckUtils]: 15: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,081 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {63592#true} {63592#true} #1254#return; {63592#true} is VALID [2022-04-28 15:15:32,081 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-28 15:15:32,081 INFO L290 TraceCheckUtils]: 18: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,081 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {63592#true} {63592#true} #1218#return; {63592#true} is VALID [2022-04-28 15:15:32,081 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-28 15:15:32,081 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-28 15:15:32,081 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-28 15:15:32,082 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-28 15:15:32,082 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-28 15:15:32,084 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-28 15:15:32,084 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-28 15:15:32,084 INFO L290 TraceCheckUtils]: 27: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~5; {63592#true} is VALID [2022-04-28 15:15:32,084 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-28 15:15:32,084 INFO L290 TraceCheckUtils]: 29: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,084 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {63592#true} {63592#true} #1176#return; {63592#true} is VALID [2022-04-28 15:15:32,084 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-28 15:15:32,084 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-28 15:15:32,085 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-28 15:15:32,085 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-28 15:15:32,086 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:32,087 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-28 15:15:32,088 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-28 15:15:32,088 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-28 15:15:32,088 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-28 15:15:32,088 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-28 15:15:32,088 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-28 15:15:32,089 INFO L290 TraceCheckUtils]: 42: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~2; {63592#true} is VALID [2022-04-28 15:15:32,089 INFO L290 TraceCheckUtils]: 43: Hoare triple {63592#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63592#true} is VALID [2022-04-28 15:15:32,089 INFO L290 TraceCheckUtils]: 44: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,089 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {63592#true} {63593#false} #1180#return; {63593#false} is VALID [2022-04-28 15:15:32,089 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-28 15:15:32,089 INFO L290 TraceCheckUtils]: 47: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-28 15:15:32,089 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {63593#false} {63592#true} #1220#return; {63593#false} is VALID [2022-04-28 15:15:32,089 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-28 15:15:32,089 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-28 15:15:32,089 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-28 15:15:32,089 INFO L290 TraceCheckUtils]: 52: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,089 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {63592#true} {63593#false} #1222#return; {63593#false} is VALID [2022-04-28 15:15:32,089 INFO L290 TraceCheckUtils]: 54: Hoare triple {63593#false} assume !!(~status~5 >= 0); {63593#false} is VALID [2022-04-28 15:15:32,089 INFO L290 TraceCheckUtils]: 55: Hoare triple {63593#false} assume !(0 == ~__BLAST_NONDET~0); {63593#false} is VALID [2022-04-28 15:15:32,090 INFO L290 TraceCheckUtils]: 56: Hoare triple {63593#false} assume !(1 == ~__BLAST_NONDET~0); {63593#false} is VALID [2022-04-28 15:15:32,090 INFO L290 TraceCheckUtils]: 57: Hoare triple {63593#false} assume !(2 == ~__BLAST_NONDET~0); {63593#false} is VALID [2022-04-28 15:15:32,090 INFO L290 TraceCheckUtils]: 58: Hoare triple {63593#false} assume 3 == ~__BLAST_NONDET~0; {63593#false} is VALID [2022-04-28 15:15:32,090 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-28 15:15:32,090 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-28 15:15:32,090 INFO L290 TraceCheckUtils]: 61: Hoare triple {63593#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {63593#false} is VALID [2022-04-28 15:15:32,090 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-28 15:15:32,090 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-28 15:15:32,090 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-28 15:15:32,090 INFO L290 TraceCheckUtils]: 65: Hoare triple {63592#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {63592#true} is VALID [2022-04-28 15:15:32,090 INFO L290 TraceCheckUtils]: 66: Hoare triple {63592#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {63592#true} is VALID [2022-04-28 15:15:32,090 INFO L290 TraceCheckUtils]: 67: Hoare triple {63592#true} assume #res.base == dest.base && #res.offset == dest.offset; {63592#true} is VALID [2022-04-28 15:15:32,090 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {63592#true} {63593#false} #1186#return; {63593#false} is VALID [2022-04-28 15:15:32,090 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-28 15:15:32,090 INFO L290 TraceCheckUtils]: 70: Hoare triple {63593#false} assume !(~s~0 != ~NP~0); {63593#false} is VALID [2022-04-28 15:15:32,091 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-28 15:15:32,091 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-28 15:15:32,091 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-28 15:15:32,091 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-28 15:15:32,091 INFO L290 TraceCheckUtils]: 75: Hoare triple {63592#true} assume 0 != ~compRegistered~0; {63592#true} is VALID [2022-04-28 15:15:32,092 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-28 15:15:32,092 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-28 15:15:32,092 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-28 15:15:32,092 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-28 15:15:32,092 INFO L290 TraceCheckUtils]: 80: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,093 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {63592#true} {63592#true} #1174#return; {63592#true} is VALID [2022-04-28 15:15:32,093 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-28 15:15:32,093 INFO L290 TraceCheckUtils]: 83: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,093 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {63592#true} {63592#true} #1210#return; {63592#true} is VALID [2022-04-28 15:15:32,093 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-28 15:15:32,093 INFO L290 TraceCheckUtils]: 86: Hoare triple {63592#true} assume !(-1073741802 == ~compRetStatus~0); {63592#true} is VALID [2022-04-28 15:15:32,093 INFO L290 TraceCheckUtils]: 87: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~11; {63592#true} is VALID [2022-04-28 15:15:32,093 INFO L290 TraceCheckUtils]: 88: Hoare triple {63592#true} ~returnVal2~0 := 0; {63592#true} is VALID [2022-04-28 15:15:32,093 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-28 15:15:32,093 INFO L290 TraceCheckUtils]: 90: Hoare triple {63592#true} #res := ~returnVal2~0; {63592#true} is VALID [2022-04-28 15:15:32,093 INFO L290 TraceCheckUtils]: 91: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:32,093 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {63592#true} {63593#false} #1192#return; {63593#false} is VALID [2022-04-28 15:15:32,093 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-28 15:15:32,093 INFO L290 TraceCheckUtils]: 94: Hoare triple {63593#false} assume !(259 == ~status~3); {63593#false} is VALID [2022-04-28 15:15:32,094 INFO L290 TraceCheckUtils]: 95: Hoare triple {63593#false} assume ~status~3 >= 0; {63593#false} is VALID [2022-04-28 15:15:32,094 INFO L290 TraceCheckUtils]: 96: Hoare triple {63593#false} assume !(~myStatus~0 >= 0); {63593#false} is VALID [2022-04-28 15:15:32,094 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-28 15:15:32,094 INFO L272 TraceCheckUtils]: 98: Hoare triple {63593#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {63593#false} is VALID [2022-04-28 15:15:32,094 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-28 15:15:32,094 INFO L290 TraceCheckUtils]: 100: Hoare triple {63593#false} assume !(~s~0 == ~NP~0); {63593#false} is VALID [2022-04-28 15:15:32,094 INFO L272 TraceCheckUtils]: 101: Hoare triple {63593#false} call errorFn(); {63593#false} is VALID [2022-04-28 15:15:32,094 INFO L290 TraceCheckUtils]: 102: Hoare triple {63593#false} assume !false; {63593#false} is VALID [2022-04-28 15:15:32,094 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-28 15:15:32,094 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:15:32,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2018731875] [2022-04-28 15:15:32,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2018731875] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 15:15:32,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1112680824] [2022-04-28 15:15:32,095 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 15:15:32,095 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 15:15:32,095 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 15:15:32,096 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-28 15:15:32,097 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-28 15:15:32,954 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 15:15:32,954 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 15:15:32,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 1752 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 15:15:33,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:33,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 15:15:33,255 INFO L272 TraceCheckUtils]: 0: Hoare triple {63592#true} call ULTIMATE.init(); {63592#true} is VALID [2022-04-28 15:15:33,256 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-28 15:15:33,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:33,256 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63592#true} {63592#true} #1270#return; {63592#true} is VALID [2022-04-28 15:15:33,256 INFO L272 TraceCheckUtils]: 4: Hoare triple {63592#true} call #t~ret213 := main(); {63592#true} is VALID [2022-04-28 15:15:33,256 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-28 15:15:33,256 INFO L272 TraceCheckUtils]: 6: Hoare triple {63592#true} call _BLAST_init(); {63592#true} is VALID [2022-04-28 15:15:33,256 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-28 15:15:33,256 INFO L290 TraceCheckUtils]: 8: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:33,256 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {63592#true} {63592#true} #1216#return; {63592#true} is VALID [2022-04-28 15:15:33,256 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-28 15:15:33,256 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-28 15:15:33,256 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-28 15:15:33,257 INFO L290 TraceCheckUtils]: 13: Hoare triple {63592#true} ~cond := #in~cond; {63592#true} is VALID [2022-04-28 15:15:33,257 INFO L290 TraceCheckUtils]: 14: Hoare triple {63592#true} assume !(0 == ~cond); {63592#true} is VALID [2022-04-28 15:15:33,257 INFO L290 TraceCheckUtils]: 15: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:33,257 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {63592#true} {63592#true} #1254#return; {63592#true} is VALID [2022-04-28 15:15:33,257 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-28 15:15:33,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:33,257 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {63592#true} {63592#true} #1218#return; {63592#true} is VALID [2022-04-28 15:15:33,257 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-28 15:15:33,257 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-28 15:15:33,257 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-28 15:15:33,257 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-28 15:15:33,257 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-28 15:15:33,257 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-28 15:15:33,257 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-28 15:15:33,258 INFO L290 TraceCheckUtils]: 27: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~5; {63592#true} is VALID [2022-04-28 15:15:33,258 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-28 15:15:33,258 INFO L290 TraceCheckUtils]: 29: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:33,258 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {63592#true} {63592#true} #1176#return; {63592#true} is VALID [2022-04-28 15:15:33,258 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-28 15:15:33,258 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-28 15:15:33,258 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-28 15:15:33,258 INFO L290 TraceCheckUtils]: 34: Hoare triple {63592#true} #t~loopctr214 := 0; {63592#true} is VALID [2022-04-28 15:15:33,258 INFO L290 TraceCheckUtils]: 35: Hoare triple {63592#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {63592#true} is VALID [2022-04-28 15:15:33,258 INFO L290 TraceCheckUtils]: 36: Hoare triple {63592#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {63592#true} is VALID [2022-04-28 15:15:33,258 INFO L290 TraceCheckUtils]: 37: Hoare triple {63592#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63592#true} is VALID [2022-04-28 15:15:33,258 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {63592#true} {63592#true} #1178#return; {63592#true} is VALID [2022-04-28 15:15:33,258 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-28 15:15:33,258 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-28 15:15:33,258 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-28 15:15:33,259 INFO L290 TraceCheckUtils]: 42: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~2; {63592#true} is VALID [2022-04-28 15:15:33,259 INFO L290 TraceCheckUtils]: 43: Hoare triple {63592#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63592#true} is VALID [2022-04-28 15:15:33,259 INFO L290 TraceCheckUtils]: 44: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:33,259 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {63592#true} {63592#true} #1180#return; {63592#true} is VALID [2022-04-28 15:15:33,259 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-28 15:15:33,259 INFO L290 TraceCheckUtils]: 47: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:33,259 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {63592#true} {63592#true} #1220#return; {63592#true} is VALID [2022-04-28 15:15:33,259 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-28 15:15:33,259 INFO L272 TraceCheckUtils]: 50: Hoare triple {63592#true} call stub_driver_init(); {63592#true} is VALID [2022-04-28 15:15:33,259 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-28 15:15:33,259 INFO L290 TraceCheckUtils]: 52: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-28 15:15:33,259 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {63592#true} {63592#true} #1222#return; {63592#true} is VALID [2022-04-28 15:15:33,259 INFO L290 TraceCheckUtils]: 54: Hoare triple {63592#true} assume !!(~status~5 >= 0); {63592#true} is VALID [2022-04-28 15:15:33,259 INFO L290 TraceCheckUtils]: 55: Hoare triple {63592#true} assume !(0 == ~__BLAST_NONDET~0); {63592#true} is VALID [2022-04-28 15:15:33,259 INFO L290 TraceCheckUtils]: 56: Hoare triple {63592#true} assume !(1 == ~__BLAST_NONDET~0); {63592#true} is VALID [2022-04-28 15:15:33,260 INFO L290 TraceCheckUtils]: 57: Hoare triple {63592#true} assume !(2 == ~__BLAST_NONDET~0); {63592#true} is VALID [2022-04-28 15:15:33,260 INFO L290 TraceCheckUtils]: 58: Hoare triple {63592#true} assume 3 == ~__BLAST_NONDET~0; {63592#true} is VALID [2022-04-28 15:15:33,260 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-28 15:15:33,260 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-28 15:15:33,260 INFO L290 TraceCheckUtils]: 61: Hoare triple {63592#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {63592#true} is VALID [2022-04-28 15:15:33,260 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-28 15:15:33,260 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-28 15:15:33,260 INFO L290 TraceCheckUtils]: 64: Hoare triple {63592#true} #t~loopctr215 := 0; {63896#(= |#Ultimate.C_memmove_#t~loopctr215| 0)} is VALID [2022-04-28 15:15:33,261 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-28 15:15:33,261 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-28 15:15:33,261 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-28 15:15:33,262 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-28 15:15:33,263 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-28 15:15:33,263 INFO L290 TraceCheckUtils]: 70: Hoare triple {63593#false} assume !(~s~0 != ~NP~0); {63593#false} is VALID [2022-04-28 15:15:33,263 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-28 15:15:33,263 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-28 15:15:33,263 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-28 15:15:33,263 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-28 15:15:33,263 INFO L290 TraceCheckUtils]: 75: Hoare triple {63593#false} assume 0 != ~compRegistered~0; {63593#false} is VALID [2022-04-28 15:15:33,263 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-28 15:15:33,263 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-28 15:15:33,263 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-28 15:15:33,263 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-28 15:15:33,263 INFO L290 TraceCheckUtils]: 80: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-28 15:15:33,263 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {63593#false} {63593#false} #1174#return; {63593#false} is VALID [2022-04-28 15:15:33,263 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-28 15:15:33,264 INFO L290 TraceCheckUtils]: 83: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-28 15:15:33,264 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {63593#false} {63593#false} #1210#return; {63593#false} is VALID [2022-04-28 15:15:33,264 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-28 15:15:33,264 INFO L290 TraceCheckUtils]: 86: Hoare triple {63593#false} assume !(-1073741802 == ~compRetStatus~0); {63593#false} is VALID [2022-04-28 15:15:33,264 INFO L290 TraceCheckUtils]: 87: Hoare triple {63593#false} assume 0 == ~__BLAST_NONDET~11; {63593#false} is VALID [2022-04-28 15:15:33,264 INFO L290 TraceCheckUtils]: 88: Hoare triple {63593#false} ~returnVal2~0 := 0; {63593#false} is VALID [2022-04-28 15:15:33,264 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-28 15:15:33,264 INFO L290 TraceCheckUtils]: 90: Hoare triple {63593#false} #res := ~returnVal2~0; {63593#false} is VALID [2022-04-28 15:15:33,264 INFO L290 TraceCheckUtils]: 91: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-28 15:15:33,264 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {63593#false} {63593#false} #1192#return; {63593#false} is VALID [2022-04-28 15:15:33,264 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-28 15:15:33,264 INFO L290 TraceCheckUtils]: 94: Hoare triple {63593#false} assume !(259 == ~status~3); {63593#false} is VALID [2022-04-28 15:15:33,264 INFO L290 TraceCheckUtils]: 95: Hoare triple {63593#false} assume ~status~3 >= 0; {63593#false} is VALID [2022-04-28 15:15:33,264 INFO L290 TraceCheckUtils]: 96: Hoare triple {63593#false} assume !(~myStatus~0 >= 0); {63593#false} is VALID [2022-04-28 15:15:33,264 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-28 15:15:33,265 INFO L272 TraceCheckUtils]: 98: Hoare triple {63593#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {63593#false} is VALID [2022-04-28 15:15:33,265 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-28 15:15:33,265 INFO L290 TraceCheckUtils]: 100: Hoare triple {63593#false} assume !(~s~0 == ~NP~0); {63593#false} is VALID [2022-04-28 15:15:33,265 INFO L272 TraceCheckUtils]: 101: Hoare triple {63593#false} call errorFn(); {63593#false} is VALID [2022-04-28 15:15:33,265 INFO L290 TraceCheckUtils]: 102: Hoare triple {63593#false} assume !false; {63593#false} is VALID [2022-04-28 15:15:33,265 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-28 15:15:33,265 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 15:15:33,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1112680824] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:33,265 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 15:15:33,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [12] total 14 [2022-04-28 15:15:33,266 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:15:33,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1258822530] [2022-04-28 15:15:33,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1258822530] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:33,266 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:15:33,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 15:15:33,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [229848084] [2022-04-28 15:15:33,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:15:33,267 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-28 15:15:33,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:15:33,267 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-28 15:15:33,346 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-28 15:15:33,346 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 15:15:33,346 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:33,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 15:15:33,347 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:15:33,347 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-28 15:15:41,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:41,148 INFO L93 Difference]: Finished difference Result 573 states and 692 transitions. [2022-04-28 15:15:41,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 15:15:41,149 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-28 15:15:41,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:15:41,149 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-28 15:15:41,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 264 transitions. [2022-04-28 15:15:41,150 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-28 15:15:41,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 264 transitions. [2022-04-28 15:15:41,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 264 transitions. [2022-04-28 15:15:41,341 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-28 15:15:41,359 INFO L225 Difference]: With dead ends: 573 [2022-04-28 15:15:41,359 INFO L226 Difference]: Without dead ends: 341 [2022-04-28 15:15:41,359 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 121 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 15:15:41,360 INFO L413 NwaCegarLoop]: 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-28 15:15:41,360 INFO L414 NwaCegarLoop]: 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-28 15:15:41,362 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 341 states. [2022-04-28 15:15:42,021 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 341 to 341. [2022-04-28 15:15:42,021 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:15:42,021 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-28 15:15:42,022 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-28 15:15:42,022 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-28 15:15:42,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:42,026 INFO L93 Difference]: Finished difference Result 341 states and 403 transitions. [2022-04-28 15:15:42,026 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 403 transitions. [2022-04-28 15:15:42,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:42,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:42,027 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-28 15:15:42,027 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-28 15:15:42,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:42,043 INFO L93 Difference]: Finished difference Result 341 states and 403 transitions. [2022-04-28 15:15:42,043 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 403 transitions. [2022-04-28 15:15:42,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:42,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:42,043 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:15:42,043 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:15:42,044 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-28 15:15:42,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 341 states to 341 states and 403 transitions. [2022-04-28 15:15:42,049 INFO L78 Accepts]: Start accepts. Automaton has 341 states and 403 transitions. Word has length 103 [2022-04-28 15:15:42,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:15:42,049 INFO L495 AbstractCegarLoop]: Abstraction has 341 states and 403 transitions. [2022-04-28 15:15:42,050 INFO L496 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-28 15:15:42,050 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 341 states and 403 transitions. [2022-04-28 15:15:42,976 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-28 15:15:42,977 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 403 transitions. [2022-04-28 15:15:42,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 15:15:42,977 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:15:42,977 INFO L195 NwaCegarLoop]: 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-28 15:15:43,002 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-28 15:15:43,178 WARN L477 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-28 15:15:43,178 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:15:43,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:15:43,179 INFO L85 PathProgramCache]: Analyzing trace with hash 1130425434, now seen corresponding path program 1 times [2022-04-28 15:15:43,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:43,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [937897405] [2022-04-28 15:15:43,182 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:15:43,182 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:15:43,183 INFO L85 PathProgramCache]: Analyzing trace with hash 1130425434, now seen corresponding path program 2 times [2022-04-28 15:15:43,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:15:43,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2115617633] [2022-04-28 15:15:43,183 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:15:43,183 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:15:43,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,620 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:15:43,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,626 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-28 15:15:43,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,627 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66523#true} {66523#true} #1270#return; {66523#true} is VALID [2022-04-28 15:15:43,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:15:43,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,649 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-28 15:15:43,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,650 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66523#true} {66523#true} #1216#return; {66523#true} is VALID [2022-04-28 15:15:43,655 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:15:43,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,666 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:43,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,671 INFO L290 TraceCheckUtils]: 0: Hoare triple {66523#true} ~cond := #in~cond; {66523#true} is VALID [2022-04-28 15:15:43,671 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume !(0 == ~cond); {66523#true} is VALID [2022-04-28 15:15:43,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66523#true} {66523#true} #1254#return; {66523#true} is VALID [2022-04-28 15:15:43,671 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-28 15:15:43,671 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-28 15:15:43,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} ~cond := #in~cond; {66523#true} is VALID [2022-04-28 15:15:43,671 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume !(0 == ~cond); {66523#true} is VALID [2022-04-28 15:15:43,671 INFO L290 TraceCheckUtils]: 4: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,671 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {66523#true} {66523#true} #1254#return; {66523#true} is VALID [2022-04-28 15:15:43,671 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-28 15:15:43,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,672 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {66523#true} {66523#true} #1218#return; {66523#true} is VALID [2022-04-28 15:15:43,679 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:15:43,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,713 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:43,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,736 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-28 15:15:43,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~5; {66523#true} is VALID [2022-04-28 15:15:43,736 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-28 15:15:43,737 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,737 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66523#true} {66523#true} #1176#return; {66523#true} is VALID [2022-04-28 15:15:43,737 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:15:43,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,810 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-28 15:15:43,812 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:43,812 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-28 15:15:43,813 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-28 15:15:43,814 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-28 15:15:43,814 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:15:43,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,819 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-28 15:15:43,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~2; {66523#true} is VALID [2022-04-28 15:15:43,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66523#true} is VALID [2022-04-28 15:15:43,820 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,820 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66523#true} {66524#false} #1180#return; {66524#false} is VALID [2022-04-28 15:15:43,820 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-28 15:15:43,821 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-28 15:15:43,821 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-28 15:15:43,821 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~5; {66523#true} is VALID [2022-04-28 15:15:43,821 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-28 15:15:43,822 INFO L290 TraceCheckUtils]: 5: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,822 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {66523#true} {66523#true} #1176#return; {66523#true} is VALID [2022-04-28 15:15:43,822 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-28 15:15:43,822 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-28 15:15:43,822 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-28 15:15:43,823 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-28 15:15:43,824 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:43,825 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-28 15:15:43,825 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-28 15:15:43,826 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-28 15:15:43,826 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-28 15:15:43,826 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-28 15:15:43,826 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-28 15:15:43,826 INFO L290 TraceCheckUtils]: 18: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~2; {66523#true} is VALID [2022-04-28 15:15:43,826 INFO L290 TraceCheckUtils]: 19: Hoare triple {66523#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66523#true} is VALID [2022-04-28 15:15:43,826 INFO L290 TraceCheckUtils]: 20: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,826 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {66523#true} {66524#false} #1180#return; {66524#false} is VALID [2022-04-28 15:15:43,826 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-28 15:15:43,827 INFO L290 TraceCheckUtils]: 23: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-28 15:15:43,827 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {66524#false} {66523#true} #1220#return; {66524#false} is VALID [2022-04-28 15:15:43,843 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:15:43,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,848 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-28 15:15:43,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,849 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66523#true} {66524#false} #1222#return; {66524#false} is VALID [2022-04-28 15:15:43,849 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:15:43,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,865 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-28 15:15:43,865 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {66523#true} is VALID [2022-04-28 15:15:43,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {66523#true} is VALID [2022-04-28 15:15:43,866 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {66523#true} is VALID [2022-04-28 15:15:43,866 INFO L290 TraceCheckUtils]: 4: Hoare triple {66523#true} assume #res.base == dest.base && #res.offset == dest.offset; {66523#true} is VALID [2022-04-28 15:15:43,866 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {66523#true} {66524#false} #1186#return; {66524#false} is VALID [2022-04-28 15:15:43,875 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 15:15:43,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:15:43,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:43,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:43,904 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-28 15:15:43,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,905 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66523#true} {66523#true} #1174#return; {66523#true} is VALID [2022-04-28 15:15:43,905 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-28 15:15:43,905 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-28 15:15:43,905 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-28 15:15:43,905 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,905 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66523#true} {66523#true} #1174#return; {66523#true} is VALID [2022-04-28 15:15:43,906 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-28 15:15:43,906 INFO L290 TraceCheckUtils]: 6: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,906 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {66523#true} {66523#true} #1210#return; {66523#true} is VALID [2022-04-28 15:15:43,906 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-28 15:15:43,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume 0 != ~compRegistered~0; {66523#true} is VALID [2022-04-28 15:15:43,907 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-28 15:15:43,907 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-28 15:15:43,907 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-28 15:15:43,907 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-28 15:15:43,907 INFO L290 TraceCheckUtils]: 6: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,907 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {66523#true} {66523#true} #1174#return; {66523#true} is VALID [2022-04-28 15:15:43,908 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-28 15:15:43,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,908 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {66523#true} {66523#true} #1210#return; {66523#true} is VALID [2022-04-28 15:15:43,908 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-28 15:15:43,908 INFO L290 TraceCheckUtils]: 12: Hoare triple {66523#true} assume !(-1073741802 == ~compRetStatus~0); {66523#true} is VALID [2022-04-28 15:15:43,908 INFO L290 TraceCheckUtils]: 13: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~11; {66523#true} is VALID [2022-04-28 15:15:43,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {66523#true} ~returnVal2~0 := 0; {66523#true} is VALID [2022-04-28 15:15:43,908 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-28 15:15:43,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {66523#true} #res := ~returnVal2~0; {66523#true} is VALID [2022-04-28 15:15:43,908 INFO L290 TraceCheckUtils]: 17: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,908 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {66523#true} {66524#false} #1192#return; {66524#false} is VALID [2022-04-28 15:15:43,909 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-28 15:15:43,909 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-28 15:15:43,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66523#true} {66523#true} #1270#return; {66523#true} is VALID [2022-04-28 15:15:43,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {66523#true} call #t~ret213 := main(); {66523#true} is VALID [2022-04-28 15:15:43,910 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-28 15:15:43,910 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-28 15:15:43,910 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-28 15:15:43,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,911 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {66523#true} {66523#true} #1216#return; {66523#true} is VALID [2022-04-28 15:15:43,911 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-28 15:15:43,911 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-28 15:15:43,911 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-28 15:15:43,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {66523#true} ~cond := #in~cond; {66523#true} is VALID [2022-04-28 15:15:43,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {66523#true} assume !(0 == ~cond); {66523#true} is VALID [2022-04-28 15:15:43,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,912 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {66523#true} {66523#true} #1254#return; {66523#true} is VALID [2022-04-28 15:15:43,912 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-28 15:15:43,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,912 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {66523#true} {66523#true} #1218#return; {66523#true} is VALID [2022-04-28 15:15:43,912 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-28 15:15:43,912 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-28 15:15:43,912 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-28 15:15:43,913 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-28 15:15:43,913 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-28 15:15:43,914 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-28 15:15:43,914 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-28 15:15:43,914 INFO L290 TraceCheckUtils]: 27: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~5; {66523#true} is VALID [2022-04-28 15:15:43,914 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-28 15:15:43,914 INFO L290 TraceCheckUtils]: 29: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,914 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {66523#true} {66523#true} #1176#return; {66523#true} is VALID [2022-04-28 15:15:43,914 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-28 15:15:43,915 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-28 15:15:43,915 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-28 15:15:43,916 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-28 15:15:43,917 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:43,918 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-28 15:15:43,918 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-28 15:15:43,919 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-28 15:15:43,919 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-28 15:15:43,919 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-28 15:15:43,919 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-28 15:15:43,919 INFO L290 TraceCheckUtils]: 42: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~2; {66523#true} is VALID [2022-04-28 15:15:43,919 INFO L290 TraceCheckUtils]: 43: Hoare triple {66523#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66523#true} is VALID [2022-04-28 15:15:43,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,919 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {66523#true} {66524#false} #1180#return; {66524#false} is VALID [2022-04-28 15:15:43,920 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-28 15:15:43,920 INFO L290 TraceCheckUtils]: 47: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-28 15:15:43,920 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {66524#false} {66523#true} #1220#return; {66524#false} is VALID [2022-04-28 15:15:43,920 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-28 15:15:43,920 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-28 15:15:43,920 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-28 15:15:43,920 INFO L290 TraceCheckUtils]: 52: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,920 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {66523#true} {66524#false} #1222#return; {66524#false} is VALID [2022-04-28 15:15:43,920 INFO L290 TraceCheckUtils]: 54: Hoare triple {66524#false} assume !!(~status~5 >= 0); {66524#false} is VALID [2022-04-28 15:15:43,920 INFO L290 TraceCheckUtils]: 55: Hoare triple {66524#false} assume !(0 == ~__BLAST_NONDET~0); {66524#false} is VALID [2022-04-28 15:15:43,920 INFO L290 TraceCheckUtils]: 56: Hoare triple {66524#false} assume !(1 == ~__BLAST_NONDET~0); {66524#false} is VALID [2022-04-28 15:15:43,920 INFO L290 TraceCheckUtils]: 57: Hoare triple {66524#false} assume !(2 == ~__BLAST_NONDET~0); {66524#false} is VALID [2022-04-28 15:15:43,920 INFO L290 TraceCheckUtils]: 58: Hoare triple {66524#false} assume 3 == ~__BLAST_NONDET~0; {66524#false} is VALID [2022-04-28 15:15:43,920 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-28 15:15:43,920 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-28 15:15:43,921 INFO L290 TraceCheckUtils]: 61: Hoare triple {66524#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {66524#false} is VALID [2022-04-28 15:15:43,921 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-28 15:15:43,921 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-28 15:15:43,921 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-28 15:15:43,921 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {66523#true} is VALID [2022-04-28 15:15:43,921 INFO L290 TraceCheckUtils]: 66: Hoare triple {66523#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {66523#true} is VALID [2022-04-28 15:15:43,921 INFO L290 TraceCheckUtils]: 67: Hoare triple {66523#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {66523#true} is VALID [2022-04-28 15:15:43,921 INFO L290 TraceCheckUtils]: 68: Hoare triple {66523#true} assume #res.base == dest.base && #res.offset == dest.offset; {66523#true} is VALID [2022-04-28 15:15:43,921 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {66523#true} {66524#false} #1186#return; {66524#false} is VALID [2022-04-28 15:15:43,921 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-28 15:15:43,921 INFO L290 TraceCheckUtils]: 71: Hoare triple {66524#false} assume !(~s~0 != ~NP~0); {66524#false} is VALID [2022-04-28 15:15:43,921 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-28 15:15:43,921 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-28 15:15:43,921 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-28 15:15:43,921 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-28 15:15:43,922 INFO L290 TraceCheckUtils]: 76: Hoare triple {66523#true} assume 0 != ~compRegistered~0; {66523#true} is VALID [2022-04-28 15:15:43,922 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-28 15:15:43,922 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-28 15:15:43,923 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-28 15:15:43,923 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-28 15:15:43,923 INFO L290 TraceCheckUtils]: 81: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,923 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {66523#true} {66523#true} #1174#return; {66523#true} is VALID [2022-04-28 15:15:43,923 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-28 15:15:43,923 INFO L290 TraceCheckUtils]: 84: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,923 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {66523#true} {66523#true} #1210#return; {66523#true} is VALID [2022-04-28 15:15:43,924 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-28 15:15:43,924 INFO L290 TraceCheckUtils]: 87: Hoare triple {66523#true} assume !(-1073741802 == ~compRetStatus~0); {66523#true} is VALID [2022-04-28 15:15:43,924 INFO L290 TraceCheckUtils]: 88: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~11; {66523#true} is VALID [2022-04-28 15:15:43,924 INFO L290 TraceCheckUtils]: 89: Hoare triple {66523#true} ~returnVal2~0 := 0; {66523#true} is VALID [2022-04-28 15:15:43,924 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-28 15:15:43,924 INFO L290 TraceCheckUtils]: 91: Hoare triple {66523#true} #res := ~returnVal2~0; {66523#true} is VALID [2022-04-28 15:15:43,924 INFO L290 TraceCheckUtils]: 92: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:43,924 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {66523#true} {66524#false} #1192#return; {66524#false} is VALID [2022-04-28 15:15:43,924 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-28 15:15:43,924 INFO L290 TraceCheckUtils]: 95: Hoare triple {66524#false} assume !(259 == ~status~3); {66524#false} is VALID [2022-04-28 15:15:43,924 INFO L290 TraceCheckUtils]: 96: Hoare triple {66524#false} assume ~status~3 >= 0; {66524#false} is VALID [2022-04-28 15:15:43,924 INFO L290 TraceCheckUtils]: 97: Hoare triple {66524#false} assume !(~myStatus~0 >= 0); {66524#false} is VALID [2022-04-28 15:15:43,924 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-28 15:15:43,924 INFO L272 TraceCheckUtils]: 99: Hoare triple {66524#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {66524#false} is VALID [2022-04-28 15:15:43,924 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-28 15:15:43,925 INFO L290 TraceCheckUtils]: 101: Hoare triple {66524#false} assume !(~s~0 == ~NP~0); {66524#false} is VALID [2022-04-28 15:15:43,925 INFO L272 TraceCheckUtils]: 102: Hoare triple {66524#false} call errorFn(); {66524#false} is VALID [2022-04-28 15:15:43,925 INFO L290 TraceCheckUtils]: 103: Hoare triple {66524#false} assume !false; {66524#false} is VALID [2022-04-28 15:15:43,925 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-28 15:15:43,925 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:15:43,925 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2115617633] [2022-04-28 15:15:43,925 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2115617633] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 15:15:43,925 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1844014127] [2022-04-28 15:15:43,925 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 15:15:43,926 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 15:15:43,926 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 15:15:43,927 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-28 15:15:43,927 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-28 15:15:44,995 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 15:15:44,995 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 15:15:45,003 INFO L263 TraceCheckSpWp]: Trace formula consists of 1752 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 15:15:45,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:45,045 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 15:15:45,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {66523#true} call ULTIMATE.init(); {66523#true} is VALID [2022-04-28 15:15:45,275 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-28 15:15:45,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:45,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66523#true} {66523#true} #1270#return; {66523#true} is VALID [2022-04-28 15:15:45,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {66523#true} call #t~ret213 := main(); {66523#true} is VALID [2022-04-28 15:15:45,276 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-28 15:15:45,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {66523#true} call _BLAST_init(); {66523#true} is VALID [2022-04-28 15:15:45,276 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-28 15:15:45,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:45,276 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {66523#true} {66523#true} #1216#return; {66523#true} is VALID [2022-04-28 15:15:45,276 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-28 15:15:45,276 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-28 15:15:45,276 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-28 15:15:45,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {66523#true} ~cond := #in~cond; {66523#true} is VALID [2022-04-28 15:15:45,276 INFO L290 TraceCheckUtils]: 14: Hoare triple {66523#true} assume !(0 == ~cond); {66523#true} is VALID [2022-04-28 15:15:45,276 INFO L290 TraceCheckUtils]: 15: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:45,276 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {66523#true} {66523#true} #1254#return; {66523#true} is VALID [2022-04-28 15:15:45,276 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-28 15:15:45,277 INFO L290 TraceCheckUtils]: 18: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:45,277 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {66523#true} {66523#true} #1218#return; {66523#true} is VALID [2022-04-28 15:15:45,277 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-28 15:15:45,277 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-28 15:15:45,277 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-28 15:15:45,277 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-28 15:15:45,277 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-28 15:15:45,277 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-28 15:15:45,277 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-28 15:15:45,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~5; {66523#true} is VALID [2022-04-28 15:15:45,277 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-28 15:15:45,277 INFO L290 TraceCheckUtils]: 29: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:45,277 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {66523#true} {66523#true} #1176#return; {66523#true} is VALID [2022-04-28 15:15:45,277 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-28 15:15:45,278 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-28 15:15:45,278 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-28 15:15:45,278 INFO L290 TraceCheckUtils]: 34: Hoare triple {66523#true} #t~loopctr214 := 0; {66523#true} is VALID [2022-04-28 15:15:45,278 INFO L290 TraceCheckUtils]: 35: Hoare triple {66523#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {66523#true} is VALID [2022-04-28 15:15:45,278 INFO L290 TraceCheckUtils]: 36: Hoare triple {66523#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {66523#true} is VALID [2022-04-28 15:15:45,278 INFO L290 TraceCheckUtils]: 37: Hoare triple {66523#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {66523#true} is VALID [2022-04-28 15:15:45,278 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {66523#true} {66523#true} #1178#return; {66523#true} is VALID [2022-04-28 15:15:45,278 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-28 15:15:45,278 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-28 15:15:45,278 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-28 15:15:45,278 INFO L290 TraceCheckUtils]: 42: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~2; {66523#true} is VALID [2022-04-28 15:15:45,278 INFO L290 TraceCheckUtils]: 43: Hoare triple {66523#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66523#true} is VALID [2022-04-28 15:15:45,278 INFO L290 TraceCheckUtils]: 44: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:45,278 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {66523#true} {66523#true} #1180#return; {66523#true} is VALID [2022-04-28 15:15:45,278 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-28 15:15:45,279 INFO L290 TraceCheckUtils]: 47: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:45,279 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {66523#true} {66523#true} #1220#return; {66523#true} is VALID [2022-04-28 15:15:45,279 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-28 15:15:45,279 INFO L272 TraceCheckUtils]: 50: Hoare triple {66523#true} call stub_driver_init(); {66523#true} is VALID [2022-04-28 15:15:45,279 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-28 15:15:45,279 INFO L290 TraceCheckUtils]: 52: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-28 15:15:45,279 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {66523#true} {66523#true} #1222#return; {66523#true} is VALID [2022-04-28 15:15:45,279 INFO L290 TraceCheckUtils]: 54: Hoare triple {66523#true} assume !!(~status~5 >= 0); {66523#true} is VALID [2022-04-28 15:15:45,279 INFO L290 TraceCheckUtils]: 55: Hoare triple {66523#true} assume !(0 == ~__BLAST_NONDET~0); {66523#true} is VALID [2022-04-28 15:15:45,279 INFO L290 TraceCheckUtils]: 56: Hoare triple {66523#true} assume !(1 == ~__BLAST_NONDET~0); {66523#true} is VALID [2022-04-28 15:15:45,279 INFO L290 TraceCheckUtils]: 57: Hoare triple {66523#true} assume !(2 == ~__BLAST_NONDET~0); {66523#true} is VALID [2022-04-28 15:15:45,279 INFO L290 TraceCheckUtils]: 58: Hoare triple {66523#true} assume 3 == ~__BLAST_NONDET~0; {66523#true} is VALID [2022-04-28 15:15:45,279 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-28 15:15:45,279 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-28 15:15:45,280 INFO L290 TraceCheckUtils]: 61: Hoare triple {66523#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {66523#true} is VALID [2022-04-28 15:15:45,280 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-28 15:15:45,280 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-28 15:15:45,280 INFO L290 TraceCheckUtils]: 64: Hoare triple {66523#true} #t~loopctr215 := 0; {66523#true} is VALID [2022-04-28 15:15:45,280 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {66523#true} is VALID [2022-04-28 15:15:45,280 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-28 15:15:45,281 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-28 15:15:45,281 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-28 15:15:45,282 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-28 15:15:45,282 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-28 15:15:45,282 INFO L290 TraceCheckUtils]: 71: Hoare triple {66524#false} assume !(~s~0 != ~NP~0); {66524#false} is VALID [2022-04-28 15:15:45,282 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-28 15:15:45,282 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-28 15:15:45,282 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-28 15:15:45,282 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-28 15:15:45,282 INFO L290 TraceCheckUtils]: 76: Hoare triple {66524#false} assume 0 != ~compRegistered~0; {66524#false} is VALID [2022-04-28 15:15:45,282 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-28 15:15:45,282 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-28 15:15:45,282 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-28 15:15:45,282 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-28 15:15:45,282 INFO L290 TraceCheckUtils]: 81: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-28 15:15:45,283 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {66524#false} {66524#false} #1174#return; {66524#false} is VALID [2022-04-28 15:15:45,283 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-28 15:15:45,283 INFO L290 TraceCheckUtils]: 84: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-28 15:15:45,283 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {66524#false} {66524#false} #1210#return; {66524#false} is VALID [2022-04-28 15:15:45,283 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-28 15:15:45,283 INFO L290 TraceCheckUtils]: 87: Hoare triple {66524#false} assume !(-1073741802 == ~compRetStatus~0); {66524#false} is VALID [2022-04-28 15:15:45,283 INFO L290 TraceCheckUtils]: 88: Hoare triple {66524#false} assume 0 == ~__BLAST_NONDET~11; {66524#false} is VALID [2022-04-28 15:15:45,283 INFO L290 TraceCheckUtils]: 89: Hoare triple {66524#false} ~returnVal2~0 := 0; {66524#false} is VALID [2022-04-28 15:15:45,283 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-28 15:15:45,283 INFO L290 TraceCheckUtils]: 91: Hoare triple {66524#false} #res := ~returnVal2~0; {66524#false} is VALID [2022-04-28 15:15:45,283 INFO L290 TraceCheckUtils]: 92: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-28 15:15:45,283 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {66524#false} {66524#false} #1192#return; {66524#false} is VALID [2022-04-28 15:15:45,283 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-28 15:15:45,283 INFO L290 TraceCheckUtils]: 95: Hoare triple {66524#false} assume !(259 == ~status~3); {66524#false} is VALID [2022-04-28 15:15:45,283 INFO L290 TraceCheckUtils]: 96: Hoare triple {66524#false} assume ~status~3 >= 0; {66524#false} is VALID [2022-04-28 15:15:45,284 INFO L290 TraceCheckUtils]: 97: Hoare triple {66524#false} assume !(~myStatus~0 >= 0); {66524#false} is VALID [2022-04-28 15:15:45,284 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-28 15:15:45,284 INFO L272 TraceCheckUtils]: 99: Hoare triple {66524#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {66524#false} is VALID [2022-04-28 15:15:45,284 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-28 15:15:45,284 INFO L290 TraceCheckUtils]: 101: Hoare triple {66524#false} assume !(~s~0 == ~NP~0); {66524#false} is VALID [2022-04-28 15:15:45,284 INFO L272 TraceCheckUtils]: 102: Hoare triple {66524#false} call errorFn(); {66524#false} is VALID [2022-04-28 15:15:45,284 INFO L290 TraceCheckUtils]: 103: Hoare triple {66524#false} assume !false; {66524#false} is VALID [2022-04-28 15:15:45,284 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-28 15:15:45,284 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 15:15:45,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1844014127] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:45,284 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 15:15:45,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [12] total 14 [2022-04-28 15:15:45,285 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:15:45,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [937897405] [2022-04-28 15:15:45,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [937897405] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:45,285 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:15:45,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 15:15:45,285 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [134281261] [2022-04-28 15:15:45,285 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:15:45,286 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-28 15:15:45,286 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:15:45,286 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-28 15:15:45,368 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-28 15:15:45,368 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 15:15:45,368 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:45,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 15:15:45,369 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:15:45,369 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-28 15:15:54,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:54,064 INFO L93 Difference]: Finished difference Result 567 states and 682 transitions. [2022-04-28 15:15:54,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 15:15:54,064 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-28 15:15:54,064 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:15:54,064 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-28 15:15:54,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 258 transitions. [2022-04-28 15:15:54,066 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-28 15:15:54,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 258 transitions. [2022-04-28 15:15:54,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 258 transitions. [2022-04-28 15:15:54,232 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-28 15:15:54,238 INFO L225 Difference]: With dead ends: 567 [2022-04-28 15:15:54,238 INFO L226 Difference]: Without dead ends: 343 [2022-04-28 15:15:54,238 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 122 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 15:15:54,239 INFO L413 NwaCegarLoop]: 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-28 15:15:54,239 INFO L414 NwaCegarLoop]: 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-28 15:15:54,239 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-04-28 15:15:54,864 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 343. [2022-04-28 15:15:54,864 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:15:54,864 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-28 15:15:54,865 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-28 15:15:54,865 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-28 15:15:54,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:54,869 INFO L93 Difference]: Finished difference Result 343 states and 405 transitions. [2022-04-28 15:15:54,869 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 405 transitions. [2022-04-28 15:15:54,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:54,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:54,870 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-28 15:15:54,870 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-28 15:15:54,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:15:54,875 INFO L93 Difference]: Finished difference Result 343 states and 405 transitions. [2022-04-28 15:15:54,875 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 405 transitions. [2022-04-28 15:15:54,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:15:54,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:15:54,875 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:15:54,875 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:15:54,875 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-28 15:15:54,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 343 states to 343 states and 405 transitions. [2022-04-28 15:15:54,881 INFO L78 Accepts]: Start accepts. Automaton has 343 states and 405 transitions. Word has length 104 [2022-04-28 15:15:54,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:15:54,881 INFO L495 AbstractCegarLoop]: Abstraction has 343 states and 405 transitions. [2022-04-28 15:15:54,881 INFO L496 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-28 15:15:54,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 343 states and 405 transitions. [2022-04-28 15:15:55,863 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-28 15:15:55,864 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 405 transitions. [2022-04-28 15:15:55,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 15:15:55,864 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:15:55,864 INFO L195 NwaCegarLoop]: 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-28 15:15:55,893 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-28 15:15:56,067 WARN L477 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-28 15:15:56,067 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:15:56,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:15:56,068 INFO L85 PathProgramCache]: Analyzing trace with hash 535693243, now seen corresponding path program 1 times [2022-04-28 15:15:56,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:56,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1253742544] [2022-04-28 15:15:56,072 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:15:56,072 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:15:56,072 INFO L85 PathProgramCache]: Analyzing trace with hash 535693243, now seen corresponding path program 2 times [2022-04-28 15:15:56,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:15:56,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1546469178] [2022-04-28 15:15:56,072 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:15:56,072 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:15:56,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,456 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:15:56,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,463 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-28 15:15:56,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,463 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69454#true} {69454#true} #1270#return; {69454#true} is VALID [2022-04-28 15:15:56,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:15:56,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,491 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-28 15:15:56,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,491 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69454#true} {69454#true} #1216#return; {69454#true} is VALID [2022-04-28 15:15:56,498 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:15:56,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,510 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:56,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,515 INFO L290 TraceCheckUtils]: 0: Hoare triple {69454#true} ~cond := #in~cond; {69454#true} is VALID [2022-04-28 15:15:56,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume !(0 == ~cond); {69454#true} is VALID [2022-04-28 15:15:56,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,516 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69454#true} {69454#true} #1254#return; {69454#true} is VALID [2022-04-28 15:15:56,516 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-28 15:15:56,516 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-28 15:15:56,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} ~cond := #in~cond; {69454#true} is VALID [2022-04-28 15:15:56,516 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume !(0 == ~cond); {69454#true} is VALID [2022-04-28 15:15:56,516 INFO L290 TraceCheckUtils]: 4: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,516 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {69454#true} {69454#true} #1254#return; {69454#true} is VALID [2022-04-28 15:15:56,516 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-28 15:15:56,516 INFO L290 TraceCheckUtils]: 7: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,516 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {69454#true} {69454#true} #1218#return; {69454#true} is VALID [2022-04-28 15:15:56,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:15:56,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,564 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:56,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,589 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-28 15:15:56,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~5; {69454#true} is VALID [2022-04-28 15:15:56,590 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-28 15:15:56,590 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,590 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {69454#true} {69454#true} #1176#return; {69454#true} is VALID [2022-04-28 15:15:56,590 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:15:56,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,661 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-28 15:15:56,662 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:56,663 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-28 15:15:56,663 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-28 15:15:56,664 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-28 15:15:56,664 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:15:56,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,669 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-28 15:15:56,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~2; {69454#true} is VALID [2022-04-28 15:15:56,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {69454#true} is VALID [2022-04-28 15:15:56,669 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,669 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {69454#true} {69455#false} #1180#return; {69455#false} is VALID [2022-04-28 15:15:56,669 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-28 15:15:56,670 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-28 15:15:56,671 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-28 15:15:56,671 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~5; {69454#true} is VALID [2022-04-28 15:15:56,671 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-28 15:15:56,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,671 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {69454#true} {69454#true} #1176#return; {69454#true} is VALID [2022-04-28 15:15:56,671 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-28 15:15:56,671 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-28 15:15:56,672 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-28 15:15:56,672 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-28 15:15:56,673 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:56,674 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-28 15:15:56,674 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-28 15:15:56,675 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-28 15:15:56,675 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-28 15:15:56,675 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-28 15:15:56,675 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-28 15:15:56,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~2; {69454#true} is VALID [2022-04-28 15:15:56,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {69454#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {69454#true} is VALID [2022-04-28 15:15:56,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,675 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {69454#true} {69455#false} #1180#return; {69455#false} is VALID [2022-04-28 15:15:56,675 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-28 15:15:56,675 INFO L290 TraceCheckUtils]: 23: Hoare triple {69455#false} assume true; {69455#false} is VALID [2022-04-28 15:15:56,676 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {69455#false} {69454#true} #1220#return; {69455#false} is VALID [2022-04-28 15:15:56,690 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:15:56,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,702 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-28 15:15:56,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,702 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69454#true} {69455#false} #1222#return; {69455#false} is VALID [2022-04-28 15:15:56,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:15:56,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,715 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-28 15:15:56,715 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {69454#true} is VALID [2022-04-28 15:15:56,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {69454#true} is VALID [2022-04-28 15:15:56,715 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-28 15:15:56,715 INFO L290 TraceCheckUtils]: 4: Hoare triple {69454#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {69454#true} is VALID [2022-04-28 15:15:56,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {69454#true} assume #res.base == dest.base && #res.offset == dest.offset; {69454#true} is VALID [2022-04-28 15:15:56,715 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {69454#true} {69455#false} #1186#return; {69455#false} is VALID [2022-04-28 15:15:56,726 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:15:56,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,743 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:15:56,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,749 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:15:56,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:56,753 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-28 15:15:56,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,754 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-28 15:15:56,754 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-28 15:15:56,754 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-28 15:15:56,754 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-28 15:15:56,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,755 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-28 15:15:56,755 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-28 15:15:56,755 INFO L290 TraceCheckUtils]: 6: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,755 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {69454#true} {69454#true} #1210#return; {69454#true} is VALID [2022-04-28 15:15:56,755 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-28 15:15:56,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume 0 != ~compRegistered~0; {69454#true} is VALID [2022-04-28 15:15:56,756 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-28 15:15:56,756 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-28 15:15:56,756 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-28 15:15:56,756 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-28 15:15:56,756 INFO L290 TraceCheckUtils]: 6: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,757 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-28 15:15:56,757 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-28 15:15:56,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,757 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {69454#true} {69454#true} #1210#return; {69454#true} is VALID [2022-04-28 15:15:56,757 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-28 15:15:56,757 INFO L290 TraceCheckUtils]: 12: Hoare triple {69454#true} assume !(-1073741802 == ~compRetStatus~0); {69454#true} is VALID [2022-04-28 15:15:56,757 INFO L290 TraceCheckUtils]: 13: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~11; {69454#true} is VALID [2022-04-28 15:15:56,757 INFO L290 TraceCheckUtils]: 14: Hoare triple {69454#true} ~returnVal2~0 := 0; {69454#true} is VALID [2022-04-28 15:15:56,757 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-28 15:15:56,757 INFO L290 TraceCheckUtils]: 16: Hoare triple {69454#true} #res := ~returnVal2~0; {69454#true} is VALID [2022-04-28 15:15:56,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,757 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {69454#true} {69455#false} #1192#return; {69455#false} is VALID [2022-04-28 15:15:56,772 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-28 15:15:56,772 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-28 15:15:56,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69454#true} {69454#true} #1270#return; {69454#true} is VALID [2022-04-28 15:15:56,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {69454#true} call #t~ret213 := main(); {69454#true} is VALID [2022-04-28 15:15:56,773 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-28 15:15:56,773 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-28 15:15:56,774 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-28 15:15:56,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,774 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {69454#true} {69454#true} #1216#return; {69454#true} is VALID [2022-04-28 15:15:56,775 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-28 15:15:56,775 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-28 15:15:56,775 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-28 15:15:56,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {69454#true} ~cond := #in~cond; {69454#true} is VALID [2022-04-28 15:15:56,775 INFO L290 TraceCheckUtils]: 14: Hoare triple {69454#true} assume !(0 == ~cond); {69454#true} is VALID [2022-04-28 15:15:56,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {69454#true} {69454#true} #1254#return; {69454#true} is VALID [2022-04-28 15:15:56,775 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-28 15:15:56,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,775 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {69454#true} {69454#true} #1218#return; {69454#true} is VALID [2022-04-28 15:15:56,775 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-28 15:15:56,775 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-28 15:15:56,775 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-28 15:15:56,776 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-28 15:15:56,776 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-28 15:15:56,777 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-28 15:15:56,777 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-28 15:15:56,778 INFO L290 TraceCheckUtils]: 27: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~5; {69454#true} is VALID [2022-04-28 15:15:56,778 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-28 15:15:56,778 INFO L290 TraceCheckUtils]: 29: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,778 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {69454#true} {69454#true} #1176#return; {69454#true} is VALID [2022-04-28 15:15:56,778 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-28 15:15:56,778 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-28 15:15:56,779 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-28 15:15:56,779 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-28 15:15:56,780 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:15:56,781 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-28 15:15:56,781 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-28 15:15:56,782 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-28 15:15:56,782 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-28 15:15:56,782 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-28 15:15:56,782 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-28 15:15:56,782 INFO L290 TraceCheckUtils]: 42: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~2; {69454#true} is VALID [2022-04-28 15:15:56,782 INFO L290 TraceCheckUtils]: 43: Hoare triple {69454#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {69454#true} is VALID [2022-04-28 15:15:56,782 INFO L290 TraceCheckUtils]: 44: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,782 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {69454#true} {69455#false} #1180#return; {69455#false} is VALID [2022-04-28 15:15:56,782 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-28 15:15:56,783 INFO L290 TraceCheckUtils]: 47: Hoare triple {69455#false} assume true; {69455#false} is VALID [2022-04-28 15:15:56,783 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {69455#false} {69454#true} #1220#return; {69455#false} is VALID [2022-04-28 15:15:56,783 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-28 15:15:56,783 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-28 15:15:56,783 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-28 15:15:56,783 INFO L290 TraceCheckUtils]: 52: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,783 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {69454#true} {69455#false} #1222#return; {69455#false} is VALID [2022-04-28 15:15:56,783 INFO L290 TraceCheckUtils]: 54: Hoare triple {69455#false} assume !!(~status~5 >= 0); {69455#false} is VALID [2022-04-28 15:15:56,783 INFO L290 TraceCheckUtils]: 55: Hoare triple {69455#false} assume !(0 == ~__BLAST_NONDET~0); {69455#false} is VALID [2022-04-28 15:15:56,783 INFO L290 TraceCheckUtils]: 56: Hoare triple {69455#false} assume !(1 == ~__BLAST_NONDET~0); {69455#false} is VALID [2022-04-28 15:15:56,783 INFO L290 TraceCheckUtils]: 57: Hoare triple {69455#false} assume !(2 == ~__BLAST_NONDET~0); {69455#false} is VALID [2022-04-28 15:15:56,783 INFO L290 TraceCheckUtils]: 58: Hoare triple {69455#false} assume 3 == ~__BLAST_NONDET~0; {69455#false} is VALID [2022-04-28 15:15:56,783 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-28 15:15:56,783 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-28 15:15:56,783 INFO L290 TraceCheckUtils]: 61: Hoare triple {69455#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {69455#false} is VALID [2022-04-28 15:15:56,784 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-28 15:15:56,784 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-28 15:15:56,784 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-28 15:15:56,784 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {69454#true} is VALID [2022-04-28 15:15:56,784 INFO L290 TraceCheckUtils]: 66: Hoare triple {69454#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {69454#true} is VALID [2022-04-28 15:15:56,784 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-28 15:15:56,784 INFO L290 TraceCheckUtils]: 68: Hoare triple {69454#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {69454#true} is VALID [2022-04-28 15:15:56,784 INFO L290 TraceCheckUtils]: 69: Hoare triple {69454#true} assume #res.base == dest.base && #res.offset == dest.offset; {69454#true} is VALID [2022-04-28 15:15:56,784 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {69454#true} {69455#false} #1186#return; {69455#false} is VALID [2022-04-28 15:15:56,784 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-28 15:15:56,784 INFO L290 TraceCheckUtils]: 72: Hoare triple {69455#false} assume !(~s~0 != ~NP~0); {69455#false} is VALID [2022-04-28 15:15:56,784 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-28 15:15:56,784 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-28 15:15:56,784 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-28 15:15:56,784 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-28 15:15:56,785 INFO L290 TraceCheckUtils]: 77: Hoare triple {69454#true} assume 0 != ~compRegistered~0; {69454#true} is VALID [2022-04-28 15:15:56,786 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-28 15:15:56,786 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-28 15:15:56,787 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-28 15:15:56,787 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-28 15:15:56,787 INFO L290 TraceCheckUtils]: 82: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,787 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-28 15:15:56,787 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-28 15:15:56,787 INFO L290 TraceCheckUtils]: 85: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,787 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {69454#true} {69454#true} #1210#return; {69454#true} is VALID [2022-04-28 15:15:56,787 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-28 15:15:56,787 INFO L290 TraceCheckUtils]: 88: Hoare triple {69454#true} assume !(-1073741802 == ~compRetStatus~0); {69454#true} is VALID [2022-04-28 15:15:56,787 INFO L290 TraceCheckUtils]: 89: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~11; {69454#true} is VALID [2022-04-28 15:15:56,787 INFO L290 TraceCheckUtils]: 90: Hoare triple {69454#true} ~returnVal2~0 := 0; {69454#true} is VALID [2022-04-28 15:15:56,788 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-28 15:15:56,788 INFO L290 TraceCheckUtils]: 92: Hoare triple {69454#true} #res := ~returnVal2~0; {69454#true} is VALID [2022-04-28 15:15:56,788 INFO L290 TraceCheckUtils]: 93: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:56,788 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {69454#true} {69455#false} #1192#return; {69455#false} is VALID [2022-04-28 15:15:56,788 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-28 15:15:56,788 INFO L290 TraceCheckUtils]: 96: Hoare triple {69455#false} assume !(259 == ~status~3); {69455#false} is VALID [2022-04-28 15:15:56,788 INFO L290 TraceCheckUtils]: 97: Hoare triple {69455#false} assume ~status~3 >= 0; {69455#false} is VALID [2022-04-28 15:15:56,788 INFO L290 TraceCheckUtils]: 98: Hoare triple {69455#false} assume !(~myStatus~0 >= 0); {69455#false} is VALID [2022-04-28 15:15:56,788 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-28 15:15:56,788 INFO L272 TraceCheckUtils]: 100: Hoare triple {69455#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {69455#false} is VALID [2022-04-28 15:15:56,788 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-28 15:15:56,788 INFO L290 TraceCheckUtils]: 102: Hoare triple {69455#false} assume !(~s~0 == ~NP~0); {69455#false} is VALID [2022-04-28 15:15:56,788 INFO L272 TraceCheckUtils]: 103: Hoare triple {69455#false} call errorFn(); {69455#false} is VALID [2022-04-28 15:15:56,788 INFO L290 TraceCheckUtils]: 104: Hoare triple {69455#false} assume !false; {69455#false} is VALID [2022-04-28 15:15:56,789 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-28 15:15:56,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:15:56,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1546469178] [2022-04-28 15:15:56,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1546469178] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 15:15:56,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1758478304] [2022-04-28 15:15:56,789 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 15:15:56,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 15:15:56,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 15:15:56,790 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-28 15:15:56,791 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-28 15:15:58,999 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 15:15:59,000 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 15:15:59,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 1752 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 15:15:59,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:15:59,038 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 15:15:59,230 INFO L272 TraceCheckUtils]: 0: Hoare triple {69454#true} call ULTIMATE.init(); {69454#true} is VALID [2022-04-28 15:15:59,231 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-28 15:15:59,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69454#true} {69454#true} #1270#return; {69454#true} is VALID [2022-04-28 15:15:59,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {69454#true} call #t~ret213 := main(); {69454#true} is VALID [2022-04-28 15:15:59,231 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-28 15:15:59,231 INFO L272 TraceCheckUtils]: 6: Hoare triple {69454#true} call _BLAST_init(); {69454#true} is VALID [2022-04-28 15:15:59,231 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-28 15:15:59,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,231 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {69454#true} {69454#true} #1216#return; {69454#true} is VALID [2022-04-28 15:15:59,231 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-28 15:15:59,231 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-28 15:15:59,231 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-28 15:15:59,231 INFO L290 TraceCheckUtils]: 13: Hoare triple {69454#true} ~cond := #in~cond; {69454#true} is VALID [2022-04-28 15:15:59,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {69454#true} assume !(0 == ~cond); {69454#true} is VALID [2022-04-28 15:15:59,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,232 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {69454#true} {69454#true} #1254#return; {69454#true} is VALID [2022-04-28 15:15:59,232 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-28 15:15:59,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,232 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {69454#true} {69454#true} #1218#return; {69454#true} is VALID [2022-04-28 15:15:59,232 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-28 15:15:59,232 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-28 15:15:59,232 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-28 15:15:59,232 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-28 15:15:59,232 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-28 15:15:59,232 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-28 15:15:59,232 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-28 15:15:59,232 INFO L290 TraceCheckUtils]: 27: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~5; {69454#true} is VALID [2022-04-28 15:15:59,232 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-28 15:15:59,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,233 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {69454#true} {69454#true} #1176#return; {69454#true} is VALID [2022-04-28 15:15:59,233 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-28 15:15:59,233 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-28 15:15:59,233 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-28 15:15:59,233 INFO L290 TraceCheckUtils]: 34: Hoare triple {69454#true} #t~loopctr214 := 0; {69454#true} is VALID [2022-04-28 15:15:59,233 INFO L290 TraceCheckUtils]: 35: Hoare triple {69454#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {69454#true} is VALID [2022-04-28 15:15:59,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {69454#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {69454#true} is VALID [2022-04-28 15:15:59,233 INFO L290 TraceCheckUtils]: 37: Hoare triple {69454#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {69454#true} is VALID [2022-04-28 15:15:59,233 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {69454#true} {69454#true} #1178#return; {69454#true} is VALID [2022-04-28 15:15:59,233 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-28 15:15:59,233 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-28 15:15:59,233 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-28 15:15:59,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~2; {69454#true} is VALID [2022-04-28 15:15:59,233 INFO L290 TraceCheckUtils]: 43: Hoare triple {69454#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L290 TraceCheckUtils]: 44: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {69454#true} {69454#true} #1180#return; {69454#true} is VALID [2022-04-28 15:15:59,234 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-28 15:15:59,234 INFO L290 TraceCheckUtils]: 47: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {69454#true} {69454#true} #1220#return; {69454#true} is VALID [2022-04-28 15:15:59,234 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-28 15:15:59,234 INFO L272 TraceCheckUtils]: 50: Hoare triple {69454#true} call stub_driver_init(); {69454#true} is VALID [2022-04-28 15:15:59,234 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-28 15:15:59,234 INFO L290 TraceCheckUtils]: 52: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {69454#true} {69454#true} #1222#return; {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L290 TraceCheckUtils]: 54: Hoare triple {69454#true} assume !!(~status~5 >= 0); {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L290 TraceCheckUtils]: 55: Hoare triple {69454#true} assume !(0 == ~__BLAST_NONDET~0); {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L290 TraceCheckUtils]: 56: Hoare triple {69454#true} assume !(1 == ~__BLAST_NONDET~0); {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L290 TraceCheckUtils]: 57: Hoare triple {69454#true} assume !(2 == ~__BLAST_NONDET~0); {69454#true} is VALID [2022-04-28 15:15:59,234 INFO L290 TraceCheckUtils]: 58: Hoare triple {69454#true} assume 3 == ~__BLAST_NONDET~0; {69454#true} is VALID [2022-04-28 15:15:59,235 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-28 15:15:59,235 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-28 15:15:59,235 INFO L290 TraceCheckUtils]: 61: Hoare triple {69454#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {69454#true} is VALID [2022-04-28 15:15:59,235 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-28 15:15:59,235 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-28 15:15:59,235 INFO L290 TraceCheckUtils]: 64: Hoare triple {69454#true} #t~loopctr215 := 0; {69454#true} is VALID [2022-04-28 15:15:59,235 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {69454#true} is VALID [2022-04-28 15:15:59,235 INFO L290 TraceCheckUtils]: 66: Hoare triple {69454#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {69454#true} is VALID [2022-04-28 15:15:59,235 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-28 15:15:59,235 INFO L290 TraceCheckUtils]: 68: Hoare triple {69454#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {69454#true} is VALID [2022-04-28 15:15:59,235 INFO L290 TraceCheckUtils]: 69: Hoare triple {69454#true} assume #res.base == dest.base && #res.offset == dest.offset; {69454#true} is VALID [2022-04-28 15:15:59,235 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {69454#true} {69454#true} #1186#return; {69454#true} is VALID [2022-04-28 15:15:59,235 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-28 15:15:59,235 INFO L290 TraceCheckUtils]: 72: Hoare triple {69454#true} assume !(~s~0 != ~NP~0); {69454#true} is VALID [2022-04-28 15:15:59,236 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-28 15:15:59,236 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-28 15:15:59,236 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-28 15:15:59,236 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-28 15:15:59,236 INFO L290 TraceCheckUtils]: 77: Hoare triple {69454#true} assume 0 != ~compRegistered~0; {69454#true} is VALID [2022-04-28 15:15:59,236 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-28 15:15:59,236 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-28 15:15:59,236 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-28 15:15:59,236 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-28 15:15:59,236 INFO L290 TraceCheckUtils]: 82: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-28 15:15:59,236 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-28 15:15:59,247 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-28 15:15:59,247 INFO L290 TraceCheckUtils]: 85: Hoare triple {69820#(= (- 1073741802) |KbFilter_Complete_#res|)} assume true; {69820#(= (- 1073741802) |KbFilter_Complete_#res|)} is VALID [2022-04-28 15:15:59,248 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {69820#(= (- 1073741802) |KbFilter_Complete_#res|)} {69454#true} #1210#return; {69827#(= |IofCallDriver_#t~ret196| (- 1073741802))} is VALID [2022-04-28 15:15:59,249 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-28 15:15:59,249 INFO L290 TraceCheckUtils]: 88: Hoare triple {69831#(= (- 1073741802) IofCallDriver_~compRetStatus~0)} assume !(-1073741802 == ~compRetStatus~0); {69455#false} is VALID [2022-04-28 15:15:59,249 INFO L290 TraceCheckUtils]: 89: Hoare triple {69455#false} assume 0 == ~__BLAST_NONDET~11; {69455#false} is VALID [2022-04-28 15:15:59,249 INFO L290 TraceCheckUtils]: 90: Hoare triple {69455#false} ~returnVal2~0 := 0; {69455#false} is VALID [2022-04-28 15:15:59,249 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-28 15:15:59,249 INFO L290 TraceCheckUtils]: 92: Hoare triple {69455#false} #res := ~returnVal2~0; {69455#false} is VALID [2022-04-28 15:15:59,249 INFO L290 TraceCheckUtils]: 93: Hoare triple {69455#false} assume true; {69455#false} is VALID [2022-04-28 15:15:59,249 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {69455#false} {69454#true} #1192#return; {69455#false} is VALID [2022-04-28 15:15:59,250 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-28 15:15:59,250 INFO L290 TraceCheckUtils]: 96: Hoare triple {69455#false} assume !(259 == ~status~3); {69455#false} is VALID [2022-04-28 15:15:59,250 INFO L290 TraceCheckUtils]: 97: Hoare triple {69455#false} assume ~status~3 >= 0; {69455#false} is VALID [2022-04-28 15:15:59,250 INFO L290 TraceCheckUtils]: 98: Hoare triple {69455#false} assume !(~myStatus~0 >= 0); {69455#false} is VALID [2022-04-28 15:15:59,250 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-28 15:15:59,250 INFO L272 TraceCheckUtils]: 100: Hoare triple {69455#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {69455#false} is VALID [2022-04-28 15:15:59,250 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-28 15:15:59,250 INFO L290 TraceCheckUtils]: 102: Hoare triple {69455#false} assume !(~s~0 == ~NP~0); {69455#false} is VALID [2022-04-28 15:15:59,250 INFO L272 TraceCheckUtils]: 103: Hoare triple {69455#false} call errorFn(); {69455#false} is VALID [2022-04-28 15:15:59,250 INFO L290 TraceCheckUtils]: 104: Hoare triple {69455#false} assume !false; {69455#false} is VALID [2022-04-28 15:15:59,250 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-28 15:15:59,250 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 15:15:59,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1758478304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:59,251 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 15:15:59,251 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [12] total 15 [2022-04-28 15:15:59,251 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:15:59,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1253742544] [2022-04-28 15:15:59,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1253742544] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:15:59,251 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:15:59,251 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 15:15:59,251 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [511056241] [2022-04-28 15:15:59,251 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:15:59,252 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-28 15:15:59,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:15:59,252 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-28 15:15:59,338 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-28 15:15:59,338 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 15:15:59,338 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:15:59,338 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 15:15:59,339 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-04-28 15:15:59,339 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-28 15:16:10,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:10,299 INFO L93 Difference]: Finished difference Result 439 states and 524 transitions. [2022-04-28 15:16:10,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 15:16:10,299 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-28 15:16:10,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:16:10,299 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-28 15:16:10,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 227 transitions. [2022-04-28 15:16:10,319 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-28 15:16:10,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 227 transitions. [2022-04-28 15:16:10,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 227 transitions. [2022-04-28 15:16:10,455 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-28 15:16:10,460 INFO L225 Difference]: With dead ends: 439 [2022-04-28 15:16:10,460 INFO L226 Difference]: Without dead ends: 329 [2022-04-28 15:16:10,461 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 122 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-04-28 15:16:10,461 INFO L413 NwaCegarLoop]: 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-28 15:16:10,461 INFO L414 NwaCegarLoop]: 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-28 15:16:10,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 329 states. [2022-04-28 15:16:11,044 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 329 to 329. [2022-04-28 15:16:11,044 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:16:11,044 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-28 15:16:11,045 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-28 15:16:11,045 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-28 15:16:11,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:11,059 INFO L93 Difference]: Finished difference Result 329 states and 385 transitions. [2022-04-28 15:16:11,059 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 385 transitions. [2022-04-28 15:16:11,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:11,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:11,060 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-28 15:16:11,060 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-28 15:16:11,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:11,064 INFO L93 Difference]: Finished difference Result 329 states and 385 transitions. [2022-04-28 15:16:11,064 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 385 transitions. [2022-04-28 15:16:11,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:11,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:11,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:16:11,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:16:11,065 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-28 15:16:11,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 329 states to 329 states and 385 transitions. [2022-04-28 15:16:11,071 INFO L78 Accepts]: Start accepts. Automaton has 329 states and 385 transitions. Word has length 105 [2022-04-28 15:16:11,071 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:16:11,071 INFO L495 AbstractCegarLoop]: Abstraction has 329 states and 385 transitions. [2022-04-28 15:16:11,071 INFO L496 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-28 15:16:11,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 329 states and 385 transitions. [2022-04-28 15:16:11,982 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-28 15:16:11,982 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 385 transitions. [2022-04-28 15:16:11,983 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-28 15:16:11,983 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:16:11,983 INFO L195 NwaCegarLoop]: 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-28 15:16:12,018 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-28 15:16:12,184 WARN L477 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-28 15:16:12,184 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:16:12,184 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:16:12,184 INFO L85 PathProgramCache]: Analyzing trace with hash 131837236, now seen corresponding path program 1 times [2022-04-28 15:16:12,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:12,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [338828901] [2022-04-28 15:16:12,187 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:16:12,187 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:16:12,187 INFO L85 PathProgramCache]: Analyzing trace with hash 131837236, now seen corresponding path program 2 times [2022-04-28 15:16:12,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:16:12,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1049471090] [2022-04-28 15:16:12,187 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:16:12,187 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:16:12,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:16:12,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,367 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-28 15:16:12,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,367 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72076#true} {72076#true} #1270#return; {72076#true} is VALID [2022-04-28 15:16:12,392 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:16:12,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,404 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-28 15:16:12,405 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-28 15:16:12,405 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-28 15:16:12,413 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:16:12,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,428 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:12,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,433 INFO L290 TraceCheckUtils]: 0: Hoare triple {72076#true} ~cond := #in~cond; {72076#true} is VALID [2022-04-28 15:16:12,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume !(0 == ~cond); {72076#true} is VALID [2022-04-28 15:16:12,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72076#true} {72076#true} #1254#return; {72076#true} is VALID [2022-04-28 15:16:12,433 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-28 15:16:12,433 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-28 15:16:12,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} ~cond := #in~cond; {72076#true} is VALID [2022-04-28 15:16:12,433 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume !(0 == ~cond); {72076#true} is VALID [2022-04-28 15:16:12,434 INFO L290 TraceCheckUtils]: 4: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,434 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {72076#true} {72076#true} #1254#return; {72076#true} is VALID [2022-04-28 15:16:12,434 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-28 15:16:12,434 INFO L290 TraceCheckUtils]: 7: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,434 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-28 15:16:12,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:16:12,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:12,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,479 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-28 15:16:12,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~5; {72076#true} is VALID [2022-04-28 15:16:12,479 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-28 15:16:12,479 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,479 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {72076#true} {72076#true} #1176#return; {72076#true} is VALID [2022-04-28 15:16:12,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:16:12,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,486 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-28 15:16:12,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {72076#true} is VALID [2022-04-28 15:16:12,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {72076#true} is VALID [2022-04-28 15:16:12,486 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {72076#true} is VALID [2022-04-28 15:16:12,487 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {72076#true} {72076#true} #1178#return; {72076#true} is VALID [2022-04-28 15:16:12,487 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:16:12,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,492 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-28 15:16:12,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~2; {72076#true} is VALID [2022-04-28 15:16:12,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {72076#true} is VALID [2022-04-28 15:16:12,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,493 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {72076#true} {72076#true} #1180#return; {72076#true} is VALID [2022-04-28 15:16:12,493 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-28 15:16:12,494 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-28 15:16:12,494 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-28 15:16:12,494 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~5; {72076#true} is VALID [2022-04-28 15:16:12,494 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-28 15:16:12,494 INFO L290 TraceCheckUtils]: 5: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,494 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {72076#true} {72076#true} #1176#return; {72076#true} is VALID [2022-04-28 15:16:12,494 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-28 15:16:12,494 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-28 15:16:12,495 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-28 15:16:12,495 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-28 15:16:12,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {72076#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {72076#true} is VALID [2022-04-28 15:16:12,495 INFO L290 TraceCheckUtils]: 12: Hoare triple {72076#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {72076#true} is VALID [2022-04-28 15:16:12,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {72076#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {72076#true} is VALID [2022-04-28 15:16:12,495 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {72076#true} {72076#true} #1178#return; {72076#true} is VALID [2022-04-28 15:16:12,495 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-28 15:16:12,496 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-28 15:16:12,496 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-28 15:16:12,496 INFO L290 TraceCheckUtils]: 18: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~2; {72076#true} is VALID [2022-04-28 15:16:12,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {72076#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {72076#true} is VALID [2022-04-28 15:16:12,496 INFO L290 TraceCheckUtils]: 20: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,496 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {72076#true} {72076#true} #1180#return; {72076#true} is VALID [2022-04-28 15:16:12,496 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-28 15:16:12,496 INFO L290 TraceCheckUtils]: 23: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,497 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-28 15:16:12,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:16:12,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,516 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-28 15:16:12,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,516 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-28 15:16:12,516 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:16:12,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,532 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-28 15:16:12,532 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {72076#true} is VALID [2022-04-28 15:16:12,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {72076#true} is VALID [2022-04-28 15:16:12,532 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-28 15:16:12,533 INFO L290 TraceCheckUtils]: 4: Hoare triple {72076#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {72076#true} is VALID [2022-04-28 15:16:12,533 INFO L290 TraceCheckUtils]: 5: Hoare triple {72076#true} assume #res.base == dest.base && #res.offset == dest.offset; {72076#true} is VALID [2022-04-28 15:16:12,533 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-28 15:16:12,542 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:16:12,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,604 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:16:12,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:12,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,614 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-28 15:16:12,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,615 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72076#true} {72076#true} #1174#return; {72076#true} is VALID [2022-04-28 15:16:12,615 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-28 15:16:12,615 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-28 15:16:12,615 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-28 15:16:12,616 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,616 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {72076#true} {72076#true} #1174#return; {72076#true} is VALID [2022-04-28 15:16:12,616 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-28 15:16:12,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,616 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {72076#true} {72076#true} #1210#return; {72076#true} is VALID [2022-04-28 15:16:12,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:16:12,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:12,636 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-28 15:16:12,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {72195#(= ~MPR1~0 ~s~0)} assume true; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-28 15:16:12,636 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-28 15:16:12,636 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-28 15:16:12,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume 0 != ~compRegistered~0; {72076#true} is VALID [2022-04-28 15:16:12,637 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-28 15:16:12,637 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-28 15:16:12,638 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-28 15:16:12,638 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-28 15:16:12,638 INFO L290 TraceCheckUtils]: 6: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,638 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {72076#true} {72076#true} #1174#return; {72076#true} is VALID [2022-04-28 15:16:12,638 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-28 15:16:12,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,638 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {72076#true} {72076#true} #1210#return; {72076#true} is VALID [2022-04-28 15:16:12,638 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-28 15:16:12,638 INFO L290 TraceCheckUtils]: 12: Hoare triple {72076#true} assume -1073741802 == ~compRetStatus~0; {72076#true} is VALID [2022-04-28 15:16:12,639 INFO L272 TraceCheckUtils]: 13: Hoare triple {72076#true} call stubMoreProcessingRequired(); {72194#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:12,639 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-28 15:16:12,639 INFO L290 TraceCheckUtils]: 15: Hoare triple {72195#(= ~MPR1~0 ~s~0)} assume true; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-28 15:16:12,639 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-28 15:16:12,640 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-28 15:16:12,640 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-28 15:16:12,640 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-28 15:16:12,641 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-28 15:16:12,641 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-28 15:16:12,642 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-28 15:16:12,643 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-28 15:16:12,643 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-28 15:16:12,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72076#true} {72076#true} #1270#return; {72076#true} is VALID [2022-04-28 15:16:12,643 INFO L272 TraceCheckUtils]: 4: Hoare triple {72076#true} call #t~ret213 := main(); {72076#true} is VALID [2022-04-28 15:16:12,643 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-28 15:16:12,644 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-28 15:16:12,644 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-28 15:16:12,645 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-28 15:16:12,645 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-28 15:16:12,646 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-28 15:16:12,646 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-28 15:16:12,646 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-28 15:16:12,646 INFO L290 TraceCheckUtils]: 13: Hoare triple {72076#true} ~cond := #in~cond; {72076#true} is VALID [2022-04-28 15:16:12,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {72076#true} assume !(0 == ~cond); {72076#true} is VALID [2022-04-28 15:16:12,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,646 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {72076#true} {72076#true} #1254#return; {72076#true} is VALID [2022-04-28 15:16:12,646 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-28 15:16:12,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,647 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-28 15:16:12,647 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-28 15:16:12,648 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-28 15:16:12,648 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-28 15:16:12,649 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-28 15:16:12,649 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-28 15:16:12,650 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-28 15:16:12,650 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-28 15:16:12,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~5; {72076#true} is VALID [2022-04-28 15:16:12,650 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-28 15:16:12,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,650 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {72076#true} {72076#true} #1176#return; {72076#true} is VALID [2022-04-28 15:16:12,650 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-28 15:16:12,650 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-28 15:16:12,651 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-28 15:16:12,651 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-28 15:16:12,651 INFO L290 TraceCheckUtils]: 35: Hoare triple {72076#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {72076#true} is VALID [2022-04-28 15:16:12,651 INFO L290 TraceCheckUtils]: 36: Hoare triple {72076#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {72076#true} is VALID [2022-04-28 15:16:12,651 INFO L290 TraceCheckUtils]: 37: Hoare triple {72076#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {72076#true} is VALID [2022-04-28 15:16:12,651 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {72076#true} {72076#true} #1178#return; {72076#true} is VALID [2022-04-28 15:16:12,651 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-28 15:16:12,651 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-28 15:16:12,651 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-28 15:16:12,651 INFO L290 TraceCheckUtils]: 42: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~2; {72076#true} is VALID [2022-04-28 15:16:12,651 INFO L290 TraceCheckUtils]: 43: Hoare triple {72076#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {72076#true} is VALID [2022-04-28 15:16:12,652 INFO L290 TraceCheckUtils]: 44: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,652 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {72076#true} {72076#true} #1180#return; {72076#true} is VALID [2022-04-28 15:16:12,652 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-28 15:16:12,652 INFO L290 TraceCheckUtils]: 47: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,652 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-28 15:16:12,653 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-28 15:16:12,653 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-28 15:16:12,653 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-28 15:16:12,653 INFO L290 TraceCheckUtils]: 52: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,654 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-28 15:16:12,654 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-28 15:16:12,654 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-28 15:16:12,654 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-28 15:16:12,655 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-28 15:16:12,655 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-28 15:16:12,656 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-28 15:16:12,656 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-28 15:16:12,656 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-28 15:16:12,657 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-28 15:16:12,658 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-28 15:16:12,658 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-28 15:16:12,658 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {72076#true} is VALID [2022-04-28 15:16:12,658 INFO L290 TraceCheckUtils]: 66: Hoare triple {72076#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {72076#true} is VALID [2022-04-28 15:16:12,658 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-28 15:16:12,658 INFO L290 TraceCheckUtils]: 68: Hoare triple {72076#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {72076#true} is VALID [2022-04-28 15:16:12,658 INFO L290 TraceCheckUtils]: 69: Hoare triple {72076#true} assume #res.base == dest.base && #res.offset == dest.offset; {72076#true} is VALID [2022-04-28 15:16:12,659 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-28 15:16:12,659 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-28 15:16:12,659 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-28 15:16:12,660 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-28 15:16:12,661 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-28 15:16:12,661 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-28 15:16:12,661 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-28 15:16:12,661 INFO L290 TraceCheckUtils]: 77: Hoare triple {72076#true} assume 0 != ~compRegistered~0; {72076#true} is VALID [2022-04-28 15:16:12,662 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-28 15:16:12,662 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-28 15:16:12,663 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-28 15:16:12,663 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-28 15:16:12,663 INFO L290 TraceCheckUtils]: 82: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,663 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {72076#true} {72076#true} #1174#return; {72076#true} is VALID [2022-04-28 15:16:12,663 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-28 15:16:12,663 INFO L290 TraceCheckUtils]: 85: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-28 15:16:12,663 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {72076#true} {72076#true} #1210#return; {72076#true} is VALID [2022-04-28 15:16:12,663 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-28 15:16:12,663 INFO L290 TraceCheckUtils]: 88: Hoare triple {72076#true} assume -1073741802 == ~compRetStatus~0; {72076#true} is VALID [2022-04-28 15:16:12,663 INFO L272 TraceCheckUtils]: 89: Hoare triple {72076#true} call stubMoreProcessingRequired(); {72194#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:12,664 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-28 15:16:12,664 INFO L290 TraceCheckUtils]: 91: Hoare triple {72195#(= ~MPR1~0 ~s~0)} assume true; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-28 15:16:12,664 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-28 15:16:12,665 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-28 15:16:12,665 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-28 15:16:12,665 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-28 15:16:12,665 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-28 15:16:12,666 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-28 15:16:12,666 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-28 15:16:12,666 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-28 15:16:12,667 INFO L290 TraceCheckUtils]: 100: Hoare triple {72077#false} assume !(259 == ~status~3); {72077#false} is VALID [2022-04-28 15:16:12,667 INFO L290 TraceCheckUtils]: 101: Hoare triple {72077#false} assume ~status~3 >= 0; {72077#false} is VALID [2022-04-28 15:16:12,667 INFO L290 TraceCheckUtils]: 102: Hoare triple {72077#false} assume !(~myStatus~0 >= 0); {72077#false} is VALID [2022-04-28 15:16:12,667 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-28 15:16:12,667 INFO L272 TraceCheckUtils]: 104: Hoare triple {72077#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {72077#false} is VALID [2022-04-28 15:16:12,667 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-28 15:16:12,667 INFO L290 TraceCheckUtils]: 106: Hoare triple {72077#false} assume !(~s~0 == ~NP~0); {72077#false} is VALID [2022-04-28 15:16:12,667 INFO L272 TraceCheckUtils]: 107: Hoare triple {72077#false} call errorFn(); {72077#false} is VALID [2022-04-28 15:16:12,667 INFO L290 TraceCheckUtils]: 108: Hoare triple {72077#false} assume !false; {72077#false} is VALID [2022-04-28 15:16:12,667 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-28 15:16:12,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:16:12,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1049471090] [2022-04-28 15:16:12,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1049471090] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:12,668 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:12,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:16:12,668 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:16:12,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [338828901] [2022-04-28 15:16:12,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [338828901] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:12,668 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:12,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:16:12,668 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [544392928] [2022-04-28 15:16:12,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:16:12,669 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-28 15:16:12,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:16:12,669 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-28 15:16:12,747 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-28 15:16:12,747 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 15:16:12,747 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:12,748 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 15:16:12,748 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:16:12,748 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-28 15:16:14,927 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-28 15:16:22,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:22,516 INFO L93 Difference]: Finished difference Result 453 states and 540 transitions. [2022-04-28 15:16:22,517 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 15:16:22,517 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-28 15:16:22,517 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:16:22,517 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-28 15:16:22,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 238 transitions. [2022-04-28 15:16:22,518 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-28 15:16:22,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 238 transitions. [2022-04-28 15:16:22,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 238 transitions. [2022-04-28 15:16:22,798 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-28 15:16:22,804 INFO L225 Difference]: With dead ends: 453 [2022-04-28 15:16:22,804 INFO L226 Difference]: Without dead ends: 357 [2022-04-28 15:16:22,805 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 24 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=164, Invalid=538, Unknown=0, NotChecked=0, Total=702 [2022-04-28 15:16:22,805 INFO L413 NwaCegarLoop]: 132 mSDtfsCounter, 309 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 622 mSolverCounterSat, 151 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.3s 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, 5.3s IncrementalHoareTripleChecker+Time [2022-04-28 15:16:22,805 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [312 Valid, 356 Invalid, 774 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [151 Valid, 622 Invalid, 1 Unknown, 0 Unchecked, 5.3s Time] [2022-04-28 15:16:22,806 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 357 states. [2022-04-28 15:16:23,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 357 to 317. [2022-04-28 15:16:23,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:16:23,379 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-28 15:16:23,379 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-28 15:16:23,379 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-28 15:16:23,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:23,384 INFO L93 Difference]: Finished difference Result 357 states and 417 transitions. [2022-04-28 15:16:23,384 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 417 transitions. [2022-04-28 15:16:23,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:23,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:23,385 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-28 15:16:23,385 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-28 15:16:23,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:23,389 INFO L93 Difference]: Finished difference Result 357 states and 417 transitions. [2022-04-28 15:16:23,389 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 417 transitions. [2022-04-28 15:16:23,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:23,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:23,390 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:16:23,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:16:23,390 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-28 15:16:23,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 317 states to 317 states and 369 transitions. [2022-04-28 15:16:23,395 INFO L78 Accepts]: Start accepts. Automaton has 317 states and 369 transitions. Word has length 109 [2022-04-28 15:16:23,395 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:16:23,395 INFO L495 AbstractCegarLoop]: Abstraction has 317 states and 369 transitions. [2022-04-28 15:16:23,395 INFO L496 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-28 15:16:23,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 317 states and 369 transitions. [2022-04-28 15:16:24,270 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-28 15:16:24,271 INFO L276 IsEmpty]: Start isEmpty. Operand 317 states and 369 transitions. [2022-04-28 15:16:24,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 15:16:24,271 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:16:24,271 INFO L195 NwaCegarLoop]: 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-28 15:16:24,272 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29 [2022-04-28 15:16:24,272 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:16:24,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:16:24,272 INFO L85 PathProgramCache]: Analyzing trace with hash 189907132, now seen corresponding path program 1 times [2022-04-28 15:16:24,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:24,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [539568801] [2022-04-28 15:16:24,274 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:16:24,274 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:16:24,274 INFO L85 PathProgramCache]: Analyzing trace with hash 189907132, now seen corresponding path program 2 times [2022-04-28 15:16:24,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:16:24,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [184166215] [2022-04-28 15:16:24,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:16:24,274 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:16:24,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,426 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:16:24,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,432 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-28 15:16:24,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,432 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1270#return; {74482#true} is VALID [2022-04-28 15:16:24,453 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:16:24,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,458 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-28 15:16:24,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,458 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1216#return; {74482#true} is VALID [2022-04-28 15:16:24,465 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:16:24,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:24,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,497 INFO L290 TraceCheckUtils]: 0: Hoare triple {74482#true} ~cond := #in~cond; {74482#true} is VALID [2022-04-28 15:16:24,497 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume !(0 == ~cond); {74482#true} is VALID [2022-04-28 15:16:24,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74482#true} {74482#true} #1254#return; {74482#true} is VALID [2022-04-28 15:16:24,497 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-28 15:16:24,497 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-28 15:16:24,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} ~cond := #in~cond; {74482#true} is VALID [2022-04-28 15:16:24,497 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume !(0 == ~cond); {74482#true} is VALID [2022-04-28 15:16:24,497 INFO L290 TraceCheckUtils]: 4: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,497 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {74482#true} {74482#true} #1254#return; {74482#true} is VALID [2022-04-28 15:16:24,497 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-28 15:16:24,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,498 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {74482#true} {74482#true} #1218#return; {74482#true} is VALID [2022-04-28 15:16:24,508 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:16:24,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,528 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:24,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,536 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-28 15:16:24,537 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~5; {74482#true} is VALID [2022-04-28 15:16:24,537 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-28 15:16:24,537 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,537 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {74482#true} {74482#true} #1176#return; {74482#true} is VALID [2022-04-28 15:16:24,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:16:24,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,550 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-28 15:16:24,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {74482#true} is VALID [2022-04-28 15:16:24,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {74482#true} is VALID [2022-04-28 15:16:24,550 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {74482#true} is VALID [2022-04-28 15:16:24,550 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {74482#true} {74482#true} #1178#return; {74482#true} is VALID [2022-04-28 15:16:24,550 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:16:24,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,556 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-28 15:16:24,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~2; {74482#true} is VALID [2022-04-28 15:16:24,556 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {74482#true} is VALID [2022-04-28 15:16:24,556 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,556 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {74482#true} {74482#true} #1180#return; {74482#true} is VALID [2022-04-28 15:16:24,556 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-28 15:16:24,557 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-28 15:16:24,558 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-28 15:16:24,558 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~5; {74482#true} is VALID [2022-04-28 15:16:24,558 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-28 15:16:24,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,558 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {74482#true} {74482#true} #1176#return; {74482#true} is VALID [2022-04-28 15:16:24,558 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-28 15:16:24,558 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-28 15:16:24,559 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-28 15:16:24,559 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-28 15:16:24,559 INFO L290 TraceCheckUtils]: 11: Hoare triple {74482#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {74482#true} is VALID [2022-04-28 15:16:24,559 INFO L290 TraceCheckUtils]: 12: Hoare triple {74482#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {74482#true} is VALID [2022-04-28 15:16:24,559 INFO L290 TraceCheckUtils]: 13: Hoare triple {74482#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {74482#true} is VALID [2022-04-28 15:16:24,559 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {74482#true} {74482#true} #1178#return; {74482#true} is VALID [2022-04-28 15:16:24,559 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-28 15:16:24,559 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-28 15:16:24,559 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-28 15:16:24,559 INFO L290 TraceCheckUtils]: 18: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~2; {74482#true} is VALID [2022-04-28 15:16:24,559 INFO L290 TraceCheckUtils]: 19: Hoare triple {74482#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {74482#true} is VALID [2022-04-28 15:16:24,560 INFO L290 TraceCheckUtils]: 20: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,560 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {74482#true} {74482#true} #1180#return; {74482#true} is VALID [2022-04-28 15:16:24,560 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-28 15:16:24,560 INFO L290 TraceCheckUtils]: 23: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,560 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {74482#true} {74482#true} #1220#return; {74482#true} is VALID [2022-04-28 15:16:24,573 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:16:24,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,578 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-28 15:16:24,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,578 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1222#return; {74482#true} is VALID [2022-04-28 15:16:24,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:16:24,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,590 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-28 15:16:24,590 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {74482#true} is VALID [2022-04-28 15:16:24,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {74482#true} is VALID [2022-04-28 15:16:24,590 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-28 15:16:24,590 INFO L290 TraceCheckUtils]: 4: Hoare triple {74482#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {74482#true} is VALID [2022-04-28 15:16:24,590 INFO L290 TraceCheckUtils]: 5: Hoare triple {74482#true} assume #res.base == dest.base && #res.offset == dest.offset; {74482#true} is VALID [2022-04-28 15:16:24,590 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {74482#true} {74482#true} #1186#return; {74482#true} is VALID [2022-04-28 15:16:24,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:16:24,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:16:24,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,621 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:24,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,626 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-28 15:16:24,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,626 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1174#return; {74482#true} is VALID [2022-04-28 15:16:24,626 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-28 15:16:24,627 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-28 15:16:24,627 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-28 15:16:24,627 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,627 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {74482#true} {74482#true} #1174#return; {74482#true} is VALID [2022-04-28 15:16:24,627 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-28 15:16:24,627 INFO L290 TraceCheckUtils]: 6: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,627 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {74482#true} {74482#true} #1210#return; {74482#true} is VALID [2022-04-28 15:16:24,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:16:24,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:24,639 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-28 15:16:24,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,639 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1212#return; {74482#true} is VALID [2022-04-28 15:16:24,639 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-28 15:16:24,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume 0 != ~compRegistered~0; {74482#true} is VALID [2022-04-28 15:16:24,640 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-28 15:16:24,640 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-28 15:16:24,641 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-28 15:16:24,641 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-28 15:16:24,641 INFO L290 TraceCheckUtils]: 6: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,641 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {74482#true} {74482#true} #1174#return; {74482#true} is VALID [2022-04-28 15:16:24,641 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-28 15:16:24,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74482#true} {74482#true} #1210#return; {74482#true} is VALID [2022-04-28 15:16:24,641 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-28 15:16:24,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {74482#true} assume -1073741802 == ~compRetStatus~0; {74482#true} is VALID [2022-04-28 15:16:24,641 INFO L272 TraceCheckUtils]: 13: Hoare triple {74482#true} call stubMoreProcessingRequired(); {74601#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:24,642 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-28 15:16:24,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,642 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {74482#true} {74482#true} #1212#return; {74482#true} is VALID [2022-04-28 15:16:24,642 INFO L290 TraceCheckUtils]: 17: Hoare triple {74482#true} assume !(0 == ~__BLAST_NONDET~11); {74482#true} is VALID [2022-04-28 15:16:24,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {74482#true} assume 1 == ~__BLAST_NONDET~11; {74482#true} is VALID [2022-04-28 15:16:24,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {74482#true} ~returnVal2~0 := -1073741823; {74482#true} is VALID [2022-04-28 15:16:24,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {74482#true} assume !(~s~0 == ~NP~0); {74482#true} is VALID [2022-04-28 15:16:24,642 INFO L290 TraceCheckUtils]: 21: Hoare triple {74482#true} assume ~s~0 == ~MPR1~0; {74482#true} is VALID [2022-04-28 15:16:24,647 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-28 15:16:24,647 INFO L290 TraceCheckUtils]: 23: Hoare triple {74482#true} #res := ~returnVal2~0; {74482#true} is VALID [2022-04-28 15:16:24,647 INFO L290 TraceCheckUtils]: 24: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,647 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {74482#true} {74482#true} #1192#return; {74482#true} is VALID [2022-04-28 15:16:24,649 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-28 15:16:24,649 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-28 15:16:24,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,649 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74482#true} {74482#true} #1270#return; {74482#true} is VALID [2022-04-28 15:16:24,649 INFO L272 TraceCheckUtils]: 4: Hoare triple {74482#true} call #t~ret213 := main(); {74482#true} is VALID [2022-04-28 15:16:24,649 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-28 15:16:24,650 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-28 15:16:24,650 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-28 15:16:24,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,650 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {74482#true} {74482#true} #1216#return; {74482#true} is VALID [2022-04-28 15:16:24,651 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-28 15:16:24,651 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-28 15:16:24,651 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-28 15:16:24,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {74482#true} ~cond := #in~cond; {74482#true} is VALID [2022-04-28 15:16:24,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {74482#true} assume !(0 == ~cond); {74482#true} is VALID [2022-04-28 15:16:24,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,652 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {74482#true} {74482#true} #1254#return; {74482#true} is VALID [2022-04-28 15:16:24,652 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-28 15:16:24,652 INFO L290 TraceCheckUtils]: 18: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,652 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {74482#true} {74482#true} #1218#return; {74482#true} is VALID [2022-04-28 15:16:24,652 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-28 15:16:24,652 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-28 15:16:24,652 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-28 15:16:24,653 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-28 15:16:24,653 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-28 15:16:24,654 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-28 15:16:24,654 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-28 15:16:24,654 INFO L290 TraceCheckUtils]: 27: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~5; {74482#true} is VALID [2022-04-28 15:16:24,654 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-28 15:16:24,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,654 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {74482#true} {74482#true} #1176#return; {74482#true} is VALID [2022-04-28 15:16:24,654 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-28 15:16:24,654 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-28 15:16:24,655 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-28 15:16:24,655 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-28 15:16:24,655 INFO L290 TraceCheckUtils]: 35: Hoare triple {74482#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {74482#true} is VALID [2022-04-28 15:16:24,655 INFO L290 TraceCheckUtils]: 36: Hoare triple {74482#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {74482#true} is VALID [2022-04-28 15:16:24,655 INFO L290 TraceCheckUtils]: 37: Hoare triple {74482#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {74482#true} is VALID [2022-04-28 15:16:24,655 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {74482#true} {74482#true} #1178#return; {74482#true} is VALID [2022-04-28 15:16:24,655 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-28 15:16:24,656 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-28 15:16:24,656 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-28 15:16:24,656 INFO L290 TraceCheckUtils]: 42: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~2; {74482#true} is VALID [2022-04-28 15:16:24,656 INFO L290 TraceCheckUtils]: 43: Hoare triple {74482#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {74482#true} is VALID [2022-04-28 15:16:24,656 INFO L290 TraceCheckUtils]: 44: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,656 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {74482#true} {74482#true} #1180#return; {74482#true} is VALID [2022-04-28 15:16:24,656 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-28 15:16:24,656 INFO L290 TraceCheckUtils]: 47: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,656 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {74482#true} {74482#true} #1220#return; {74482#true} is VALID [2022-04-28 15:16:24,656 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-28 15:16:24,657 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-28 15:16:24,657 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-28 15:16:24,657 INFO L290 TraceCheckUtils]: 52: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,657 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {74482#true} {74482#true} #1222#return; {74482#true} is VALID [2022-04-28 15:16:24,657 INFO L290 TraceCheckUtils]: 54: Hoare triple {74482#true} assume !!(~status~5 >= 0); {74482#true} is VALID [2022-04-28 15:16:24,657 INFO L290 TraceCheckUtils]: 55: Hoare triple {74482#true} assume !(0 == ~__BLAST_NONDET~0); {74482#true} is VALID [2022-04-28 15:16:24,657 INFO L290 TraceCheckUtils]: 56: Hoare triple {74482#true} assume !(1 == ~__BLAST_NONDET~0); {74482#true} is VALID [2022-04-28 15:16:24,657 INFO L290 TraceCheckUtils]: 57: Hoare triple {74482#true} assume !(2 == ~__BLAST_NONDET~0); {74482#true} is VALID [2022-04-28 15:16:24,657 INFO L290 TraceCheckUtils]: 58: Hoare triple {74482#true} assume 3 == ~__BLAST_NONDET~0; {74482#true} is VALID [2022-04-28 15:16:24,657 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-28 15:16:24,657 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-28 15:16:24,658 INFO L290 TraceCheckUtils]: 61: Hoare triple {74482#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {74482#true} is VALID [2022-04-28 15:16:24,658 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-28 15:16:24,658 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-28 15:16:24,658 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-28 15:16:24,659 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {74482#true} is VALID [2022-04-28 15:16:24,659 INFO L290 TraceCheckUtils]: 66: Hoare triple {74482#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {74482#true} is VALID [2022-04-28 15:16:24,659 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-28 15:16:24,659 INFO L290 TraceCheckUtils]: 68: Hoare triple {74482#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {74482#true} is VALID [2022-04-28 15:16:24,659 INFO L290 TraceCheckUtils]: 69: Hoare triple {74482#true} assume #res.base == dest.base && #res.offset == dest.offset; {74482#true} is VALID [2022-04-28 15:16:24,659 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {74482#true} {74482#true} #1186#return; {74482#true} is VALID [2022-04-28 15:16:24,659 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-28 15:16:24,659 INFO L290 TraceCheckUtils]: 72: Hoare triple {74482#true} assume !(~s~0 != ~NP~0); {74482#true} is VALID [2022-04-28 15:16:24,659 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-28 15:16:24,659 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-28 15:16:24,660 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-28 15:16:24,660 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-28 15:16:24,660 INFO L290 TraceCheckUtils]: 77: Hoare triple {74482#true} assume 0 != ~compRegistered~0; {74482#true} is VALID [2022-04-28 15:16:24,661 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-28 15:16:24,661 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-28 15:16:24,661 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-28 15:16:24,662 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-28 15:16:24,662 INFO L290 TraceCheckUtils]: 82: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,662 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {74482#true} {74482#true} #1174#return; {74482#true} is VALID [2022-04-28 15:16:24,662 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-28 15:16:24,662 INFO L290 TraceCheckUtils]: 85: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,662 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {74482#true} {74482#true} #1210#return; {74482#true} is VALID [2022-04-28 15:16:24,662 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-28 15:16:24,662 INFO L290 TraceCheckUtils]: 88: Hoare triple {74482#true} assume -1073741802 == ~compRetStatus~0; {74482#true} is VALID [2022-04-28 15:16:24,662 INFO L272 TraceCheckUtils]: 89: Hoare triple {74482#true} call stubMoreProcessingRequired(); {74601#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:24,662 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-28 15:16:24,662 INFO L290 TraceCheckUtils]: 91: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,663 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {74482#true} {74482#true} #1212#return; {74482#true} is VALID [2022-04-28 15:16:24,663 INFO L290 TraceCheckUtils]: 93: Hoare triple {74482#true} assume !(0 == ~__BLAST_NONDET~11); {74482#true} is VALID [2022-04-28 15:16:24,663 INFO L290 TraceCheckUtils]: 94: Hoare triple {74482#true} assume 1 == ~__BLAST_NONDET~11; {74482#true} is VALID [2022-04-28 15:16:24,663 INFO L290 TraceCheckUtils]: 95: Hoare triple {74482#true} ~returnVal2~0 := -1073741823; {74482#true} is VALID [2022-04-28 15:16:24,663 INFO L290 TraceCheckUtils]: 96: Hoare triple {74482#true} assume !(~s~0 == ~NP~0); {74482#true} is VALID [2022-04-28 15:16:24,663 INFO L290 TraceCheckUtils]: 97: Hoare triple {74482#true} assume ~s~0 == ~MPR1~0; {74482#true} is VALID [2022-04-28 15:16:24,663 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-28 15:16:24,663 INFO L290 TraceCheckUtils]: 99: Hoare triple {74482#true} #res := ~returnVal2~0; {74482#true} is VALID [2022-04-28 15:16:24,663 INFO L290 TraceCheckUtils]: 100: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-28 15:16:24,663 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {74482#true} {74482#true} #1192#return; {74482#true} is VALID [2022-04-28 15:16:24,663 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-28 15:16:24,663 INFO L290 TraceCheckUtils]: 103: Hoare triple {74482#true} assume 259 == ~status~3; {74482#true} is VALID [2022-04-28 15:16:24,663 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-28 15:16:24,663 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-28 15:16:24,664 INFO L290 TraceCheckUtils]: 106: Hoare triple {74482#true} assume !(~s~0 == ~MPR3~0); {74560#(not (= ~MPR3~0 ~s~0))} is VALID [2022-04-28 15:16:24,664 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-28 15:16:24,664 INFO L290 TraceCheckUtils]: 108: Hoare triple {74560#(not (= ~MPR3~0 ~s~0))} assume ~s~0 == ~MPR3~0; {74483#false} is VALID [2022-04-28 15:16:24,664 INFO L272 TraceCheckUtils]: 109: Hoare triple {74483#false} call errorFn(); {74483#false} is VALID [2022-04-28 15:16:24,665 INFO L290 TraceCheckUtils]: 110: Hoare triple {74483#false} assume !false; {74483#false} is VALID [2022-04-28 15:16:24,665 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-28 15:16:24,665 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:16:24,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [184166215] [2022-04-28 15:16:24,665 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [184166215] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:24,665 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:24,665 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:16:24,665 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:16:24,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [539568801] [2022-04-28 15:16:24,665 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [539568801] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:24,666 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:24,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:16:24,666 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [21079241] [2022-04-28 15:16:24,666 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:16:24,667 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-28 15:16:24,667 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:16:24,667 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-28 15:16:24,750 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-28 15:16:24,750 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 15:16:24,751 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:24,751 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 15:16:24,751 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-28 15:16:24,751 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-28 15:16:26,857 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-28 15:16:31,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:31,180 INFO L93 Difference]: Finished difference Result 389 states and 464 transitions. [2022-04-28 15:16:31,180 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 15:16:31,180 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-28 15:16:31,180 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:16:31,180 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-28 15:16:31,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 202 transitions. [2022-04-28 15:16:31,181 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-28 15:16:31,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 202 transitions. [2022-04-28 15:16:31,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 202 transitions. [2022-04-28 15:16:31,411 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-28 15:16:31,419 INFO L225 Difference]: With dead ends: 389 [2022-04-28 15:16:31,419 INFO L226 Difference]: Without dead ends: 386 [2022-04-28 15:16:31,419 INFO L412 NwaCegarLoop]: 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-28 15:16:31,419 INFO L413 NwaCegarLoop]: 150 mSDtfsCounter, 219 mSDsluCounter, 232 mSDsCounter, 0 mSdLazyCounter, 472 mSolverCounterSat, 113 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 15:16:31,419 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [222 Valid, 382 Invalid, 586 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [113 Valid, 472 Invalid, 1 Unknown, 0 Unchecked, 3.5s Time] [2022-04-28 15:16:31,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 386 states. [2022-04-28 15:16:32,000 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 386 to 325. [2022-04-28 15:16:32,000 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:16:32,000 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-28 15:16:32,001 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-28 15:16:32,001 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-28 15:16:32,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:32,015 INFO L93 Difference]: Finished difference Result 386 states and 458 transitions. [2022-04-28 15:16:32,015 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 458 transitions. [2022-04-28 15:16:32,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:32,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:32,015 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-28 15:16:32,016 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-28 15:16:32,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:32,021 INFO L93 Difference]: Finished difference Result 386 states and 458 transitions. [2022-04-28 15:16:32,021 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 458 transitions. [2022-04-28 15:16:32,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:32,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:32,022 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:16:32,022 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:16:32,022 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-28 15:16:32,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 325 states to 325 states and 381 transitions. [2022-04-28 15:16:32,027 INFO L78 Accepts]: Start accepts. Automaton has 325 states and 381 transitions. Word has length 111 [2022-04-28 15:16:32,027 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:16:32,027 INFO L495 AbstractCegarLoop]: Abstraction has 325 states and 381 transitions. [2022-04-28 15:16:32,027 INFO L496 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-28 15:16:32,027 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 325 states and 381 transitions. [2022-04-28 15:16:32,950 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-28 15:16:32,950 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 381 transitions. [2022-04-28 15:16:32,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 15:16:32,951 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:16:32,951 INFO L195 NwaCegarLoop]: 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-28 15:16:32,951 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30 [2022-04-28 15:16:32,951 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:16:32,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:16:32,951 INFO L85 PathProgramCache]: Analyzing trace with hash -998022627, now seen corresponding path program 1 times [2022-04-28 15:16:32,951 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:32,951 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1543608913] [2022-04-28 15:16:32,953 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:16:32,953 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:16:32,953 INFO L85 PathProgramCache]: Analyzing trace with hash -998022627, now seen corresponding path program 2 times [2022-04-28 15:16:32,953 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:16:32,954 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1718301082] [2022-04-28 15:16:32,954 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:16:32,954 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:16:33,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,112 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:16:33,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,118 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-28 15:16:33,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,119 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1270#return; {76821#true} is VALID [2022-04-28 15:16:33,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:16:33,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,147 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-28 15:16:33,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,147 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1216#return; {76821#true} is VALID [2022-04-28 15:16:33,153 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:16:33,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,166 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:33,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,171 INFO L290 TraceCheckUtils]: 0: Hoare triple {76821#true} ~cond := #in~cond; {76821#true} is VALID [2022-04-28 15:16:33,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume !(0 == ~cond); {76821#true} is VALID [2022-04-28 15:16:33,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76821#true} {76821#true} #1254#return; {76821#true} is VALID [2022-04-28 15:16:33,171 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-28 15:16:33,171 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-28 15:16:33,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} ~cond := #in~cond; {76821#true} is VALID [2022-04-28 15:16:33,171 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume !(0 == ~cond); {76821#true} is VALID [2022-04-28 15:16:33,171 INFO L290 TraceCheckUtils]: 4: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,171 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {76821#true} {76821#true} #1254#return; {76821#true} is VALID [2022-04-28 15:16:33,171 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-28 15:16:33,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,172 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {76821#true} {76821#true} #1218#return; {76821#true} is VALID [2022-04-28 15:16:33,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:16:33,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:33,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,208 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-28 15:16:33,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~5; {76821#true} is VALID [2022-04-28 15:16:33,208 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-28 15:16:33,208 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,208 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {76821#true} {76821#true} #1176#return; {76821#true} is VALID [2022-04-28 15:16:33,208 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:16:33,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,214 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-28 15:16:33,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {76821#true} is VALID [2022-04-28 15:16:33,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {76821#true} is VALID [2022-04-28 15:16:33,214 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {76821#true} is VALID [2022-04-28 15:16:33,214 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {76821#true} {76821#true} #1178#return; {76821#true} is VALID [2022-04-28 15:16:33,214 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:16:33,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,219 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-28 15:16:33,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~2; {76821#true} is VALID [2022-04-28 15:16:33,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {76821#true} is VALID [2022-04-28 15:16:33,220 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,220 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {76821#true} {76821#true} #1180#return; {76821#true} is VALID [2022-04-28 15:16:33,220 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-28 15:16:33,221 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-28 15:16:33,221 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-28 15:16:33,221 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~5; {76821#true} is VALID [2022-04-28 15:16:33,236 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-28 15:16:33,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,236 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {76821#true} {76821#true} #1176#return; {76821#true} is VALID [2022-04-28 15:16:33,236 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-28 15:16:33,236 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-28 15:16:33,237 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-28 15:16:33,237 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-28 15:16:33,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {76821#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {76821#true} is VALID [2022-04-28 15:16:33,237 INFO L290 TraceCheckUtils]: 12: Hoare triple {76821#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {76821#true} is VALID [2022-04-28 15:16:33,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {76821#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {76821#true} is VALID [2022-04-28 15:16:33,238 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {76821#true} {76821#true} #1178#return; {76821#true} is VALID [2022-04-28 15:16:33,238 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-28 15:16:33,238 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-28 15:16:33,238 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-28 15:16:33,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~2; {76821#true} is VALID [2022-04-28 15:16:33,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {76821#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {76821#true} is VALID [2022-04-28 15:16:33,238 INFO L290 TraceCheckUtils]: 20: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,238 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {76821#true} {76821#true} #1180#return; {76821#true} is VALID [2022-04-28 15:16:33,238 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-28 15:16:33,238 INFO L290 TraceCheckUtils]: 23: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,238 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {76821#true} {76821#true} #1220#return; {76821#true} is VALID [2022-04-28 15:16:33,250 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:16:33,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,255 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-28 15:16:33,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,255 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1222#return; {76821#true} is VALID [2022-04-28 15:16:33,255 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:16:33,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,265 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-28 15:16:33,265 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {76821#true} is VALID [2022-04-28 15:16:33,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {76821#true} is VALID [2022-04-28 15:16:33,265 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-28 15:16:33,265 INFO L290 TraceCheckUtils]: 4: Hoare triple {76821#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {76821#true} is VALID [2022-04-28 15:16:33,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {76821#true} assume #res.base == dest.base && #res.offset == dest.offset; {76821#true} is VALID [2022-04-28 15:16:33,265 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {76821#true} {76821#true} #1186#return; {76821#true} is VALID [2022-04-28 15:16:33,273 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:16:33,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:16:33,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,314 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:33,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,320 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-28 15:16:33,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,320 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1174#return; {76821#true} is VALID [2022-04-28 15:16:33,320 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-28 15:16:33,321 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-28 15:16:33,321 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-28 15:16:33,321 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,321 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {76821#true} {76821#true} #1174#return; {76821#true} is VALID [2022-04-28 15:16:33,321 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-28 15:16:33,321 INFO L290 TraceCheckUtils]: 6: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,321 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {76821#true} {76821#true} #1210#return; {76821#true} is VALID [2022-04-28 15:16:33,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:16:33,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:33,333 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-28 15:16:33,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,333 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1212#return; {76821#true} is VALID [2022-04-28 15:16:33,333 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-28 15:16:33,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume 0 != ~compRegistered~0; {76821#true} is VALID [2022-04-28 15:16:33,334 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-28 15:16:33,334 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-28 15:16:33,335 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-28 15:16:33,335 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-28 15:16:33,335 INFO L290 TraceCheckUtils]: 6: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,335 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {76821#true} {76821#true} #1174#return; {76821#true} is VALID [2022-04-28 15:16:33,335 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-28 15:16:33,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,335 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {76821#true} {76821#true} #1210#return; {76821#true} is VALID [2022-04-28 15:16:33,335 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-28 15:16:33,336 INFO L290 TraceCheckUtils]: 12: Hoare triple {76821#true} assume -1073741802 == ~compRetStatus~0; {76821#true} is VALID [2022-04-28 15:16:33,336 INFO L272 TraceCheckUtils]: 13: Hoare triple {76821#true} call stubMoreProcessingRequired(); {76940#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:33,336 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-28 15:16:33,336 INFO L290 TraceCheckUtils]: 15: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,336 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {76821#true} {76821#true} #1212#return; {76821#true} is VALID [2022-04-28 15:16:33,336 INFO L290 TraceCheckUtils]: 17: Hoare triple {76821#true} assume !(0 == ~__BLAST_NONDET~11); {76821#true} is VALID [2022-04-28 15:16:33,336 INFO L290 TraceCheckUtils]: 18: Hoare triple {76821#true} assume 1 == ~__BLAST_NONDET~11; {76821#true} is VALID [2022-04-28 15:16:33,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {76821#true} ~returnVal2~0 := -1073741823; {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-28 15:16:33,337 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-28 15:16:33,337 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-28 15:16:33,338 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-28 15:16:33,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {76822#false} #res := ~returnVal2~0; {76822#false} is VALID [2022-04-28 15:16:33,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {76822#false} assume true; {76822#false} is VALID [2022-04-28 15:16:33,338 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {76822#false} {76821#true} #1192#return; {76822#false} is VALID [2022-04-28 15:16:33,339 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-28 15:16:33,339 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-28 15:16:33,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,339 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76821#true} {76821#true} #1270#return; {76821#true} is VALID [2022-04-28 15:16:33,339 INFO L272 TraceCheckUtils]: 4: Hoare triple {76821#true} call #t~ret213 := main(); {76821#true} is VALID [2022-04-28 15:16:33,339 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-28 15:16:33,340 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-28 15:16:33,340 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-28 15:16:33,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,341 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {76821#true} {76821#true} #1216#return; {76821#true} is VALID [2022-04-28 15:16:33,341 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-28 15:16:33,341 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-28 15:16:33,341 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-28 15:16:33,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {76821#true} ~cond := #in~cond; {76821#true} is VALID [2022-04-28 15:16:33,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {76821#true} assume !(0 == ~cond); {76821#true} is VALID [2022-04-28 15:16:33,342 INFO L290 TraceCheckUtils]: 15: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,342 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {76821#true} {76821#true} #1254#return; {76821#true} is VALID [2022-04-28 15:16:33,342 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-28 15:16:33,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,342 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {76821#true} {76821#true} #1218#return; {76821#true} is VALID [2022-04-28 15:16:33,342 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-28 15:16:33,342 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-28 15:16:33,342 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-28 15:16:33,343 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-28 15:16:33,343 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-28 15:16:33,344 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-28 15:16:33,344 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-28 15:16:33,344 INFO L290 TraceCheckUtils]: 27: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~5; {76821#true} is VALID [2022-04-28 15:16:33,344 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-28 15:16:33,344 INFO L290 TraceCheckUtils]: 29: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,344 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {76821#true} {76821#true} #1176#return; {76821#true} is VALID [2022-04-28 15:16:33,344 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-28 15:16:33,344 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-28 15:16:33,345 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-28 15:16:33,345 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-28 15:16:33,345 INFO L290 TraceCheckUtils]: 35: Hoare triple {76821#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {76821#true} is VALID [2022-04-28 15:16:33,345 INFO L290 TraceCheckUtils]: 36: Hoare triple {76821#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {76821#true} is VALID [2022-04-28 15:16:33,345 INFO L290 TraceCheckUtils]: 37: Hoare triple {76821#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {76821#true} is VALID [2022-04-28 15:16:33,345 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {76821#true} {76821#true} #1178#return; {76821#true} is VALID [2022-04-28 15:16:33,346 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-28 15:16:33,346 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-28 15:16:33,346 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-28 15:16:33,346 INFO L290 TraceCheckUtils]: 42: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~2; {76821#true} is VALID [2022-04-28 15:16:33,346 INFO L290 TraceCheckUtils]: 43: Hoare triple {76821#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {76821#true} is VALID [2022-04-28 15:16:33,346 INFO L290 TraceCheckUtils]: 44: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,346 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {76821#true} {76821#true} #1180#return; {76821#true} is VALID [2022-04-28 15:16:33,346 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-28 15:16:33,346 INFO L290 TraceCheckUtils]: 47: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,346 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {76821#true} {76821#true} #1220#return; {76821#true} is VALID [2022-04-28 15:16:33,346 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-28 15:16:33,347 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-28 15:16:33,347 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-28 15:16:33,347 INFO L290 TraceCheckUtils]: 52: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,347 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {76821#true} {76821#true} #1222#return; {76821#true} is VALID [2022-04-28 15:16:33,347 INFO L290 TraceCheckUtils]: 54: Hoare triple {76821#true} assume !!(~status~5 >= 0); {76821#true} is VALID [2022-04-28 15:16:33,347 INFO L290 TraceCheckUtils]: 55: Hoare triple {76821#true} assume !(0 == ~__BLAST_NONDET~0); {76821#true} is VALID [2022-04-28 15:16:33,347 INFO L290 TraceCheckUtils]: 56: Hoare triple {76821#true} assume !(1 == ~__BLAST_NONDET~0); {76821#true} is VALID [2022-04-28 15:16:33,347 INFO L290 TraceCheckUtils]: 57: Hoare triple {76821#true} assume !(2 == ~__BLAST_NONDET~0); {76821#true} is VALID [2022-04-28 15:16:33,347 INFO L290 TraceCheckUtils]: 58: Hoare triple {76821#true} assume 3 == ~__BLAST_NONDET~0; {76821#true} is VALID [2022-04-28 15:16:33,347 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-28 15:16:33,348 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-28 15:16:33,348 INFO L290 TraceCheckUtils]: 61: Hoare triple {76821#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {76821#true} is VALID [2022-04-28 15:16:33,348 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-28 15:16:33,348 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-28 15:16:33,349 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-28 15:16:33,349 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {76821#true} is VALID [2022-04-28 15:16:33,349 INFO L290 TraceCheckUtils]: 66: Hoare triple {76821#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {76821#true} is VALID [2022-04-28 15:16:33,349 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-28 15:16:33,349 INFO L290 TraceCheckUtils]: 68: Hoare triple {76821#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {76821#true} is VALID [2022-04-28 15:16:33,349 INFO L290 TraceCheckUtils]: 69: Hoare triple {76821#true} assume #res.base == dest.base && #res.offset == dest.offset; {76821#true} is VALID [2022-04-28 15:16:33,349 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {76821#true} {76821#true} #1186#return; {76821#true} is VALID [2022-04-28 15:16:33,349 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-28 15:16:33,349 INFO L290 TraceCheckUtils]: 72: Hoare triple {76821#true} assume !(~s~0 != ~NP~0); {76821#true} is VALID [2022-04-28 15:16:33,349 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-28 15:16:33,349 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-28 15:16:33,350 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-28 15:16:33,350 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-28 15:16:33,350 INFO L290 TraceCheckUtils]: 77: Hoare triple {76821#true} assume 0 != ~compRegistered~0; {76821#true} is VALID [2022-04-28 15:16:33,351 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-28 15:16:33,351 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-28 15:16:33,351 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-28 15:16:33,352 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-28 15:16:33,352 INFO L290 TraceCheckUtils]: 82: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,352 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {76821#true} {76821#true} #1174#return; {76821#true} is VALID [2022-04-28 15:16:33,352 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-28 15:16:33,352 INFO L290 TraceCheckUtils]: 85: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,352 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {76821#true} {76821#true} #1210#return; {76821#true} is VALID [2022-04-28 15:16:33,352 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-28 15:16:33,352 INFO L290 TraceCheckUtils]: 88: Hoare triple {76821#true} assume -1073741802 == ~compRetStatus~0; {76821#true} is VALID [2022-04-28 15:16:33,352 INFO L272 TraceCheckUtils]: 89: Hoare triple {76821#true} call stubMoreProcessingRequired(); {76940#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:33,352 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-28 15:16:33,352 INFO L290 TraceCheckUtils]: 91: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-28 15:16:33,353 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {76821#true} {76821#true} #1212#return; {76821#true} is VALID [2022-04-28 15:16:33,353 INFO L290 TraceCheckUtils]: 93: Hoare triple {76821#true} assume !(0 == ~__BLAST_NONDET~11); {76821#true} is VALID [2022-04-28 15:16:33,353 INFO L290 TraceCheckUtils]: 94: Hoare triple {76821#true} assume 1 == ~__BLAST_NONDET~11; {76821#true} is VALID [2022-04-28 15:16:33,353 INFO L290 TraceCheckUtils]: 95: Hoare triple {76821#true} ~returnVal2~0 := -1073741823; {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-28 15:16:33,353 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-28 15:16:33,354 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-28 15:16:33,354 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-28 15:16:33,354 INFO L290 TraceCheckUtils]: 99: Hoare triple {76822#false} #res := ~returnVal2~0; {76822#false} is VALID [2022-04-28 15:16:33,354 INFO L290 TraceCheckUtils]: 100: Hoare triple {76822#false} assume true; {76822#false} is VALID [2022-04-28 15:16:33,354 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {76822#false} {76821#true} #1192#return; {76822#false} is VALID [2022-04-28 15:16:33,354 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-28 15:16:33,354 INFO L290 TraceCheckUtils]: 103: Hoare triple {76822#false} assume !(259 == ~status~3); {76822#false} is VALID [2022-04-28 15:16:33,354 INFO L290 TraceCheckUtils]: 104: Hoare triple {76822#false} assume !(~status~3 >= 0); {76822#false} is VALID [2022-04-28 15:16:33,354 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-28 15:16:33,354 INFO L272 TraceCheckUtils]: 106: Hoare triple {76822#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {76822#false} is VALID [2022-04-28 15:16:33,355 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-28 15:16:33,355 INFO L290 TraceCheckUtils]: 108: Hoare triple {76822#false} assume !(~s~0 == ~NP~0); {76822#false} is VALID [2022-04-28 15:16:33,355 INFO L272 TraceCheckUtils]: 109: Hoare triple {76822#false} call errorFn(); {76822#false} is VALID [2022-04-28 15:16:33,355 INFO L290 TraceCheckUtils]: 110: Hoare triple {76822#false} assume !false; {76822#false} is VALID [2022-04-28 15:16:33,355 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-28 15:16:33,355 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:16:33,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1718301082] [2022-04-28 15:16:33,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1718301082] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:33,355 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:33,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:16:33,356 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:16:33,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1543608913] [2022-04-28 15:16:33,356 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1543608913] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:33,356 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:33,356 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:16:33,356 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [678906903] [2022-04-28 15:16:33,356 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:16:33,356 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-28 15:16:33,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:16:33,356 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-28 15:16:33,440 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-28 15:16:33,440 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 15:16:33,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:33,441 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 15:16:33,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-28 15:16:33,441 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-28 15:16:35,553 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-28 15:16:41,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:41,465 INFO L93 Difference]: Finished difference Result 465 states and 556 transitions. [2022-04-28 15:16:41,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 15:16:41,465 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-28 15:16:41,465 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:16:41,465 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-28 15:16:41,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 244 transitions. [2022-04-28 15:16:41,467 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-28 15:16:41,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 244 transitions. [2022-04-28 15:16:41,468 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 244 transitions. [2022-04-28 15:16:41,709 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-28 15:16:41,716 INFO L225 Difference]: With dead ends: 465 [2022-04-28 15:16:41,716 INFO L226 Difference]: Without dead ends: 377 [2022-04-28 15:16:41,716 INFO L412 NwaCegarLoop]: 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-28 15:16:41,717 INFO L413 NwaCegarLoop]: 144 mSDtfsCounter, 192 mSDsluCounter, 230 mSDsCounter, 0 mSdLazyCounter, 565 mSolverCounterSat, 103 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s 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, 3.4s IncrementalHoareTripleChecker+Time [2022-04-28 15:16:41,717 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [194 Valid, 374 Invalid, 669 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [103 Valid, 565 Invalid, 1 Unknown, 0 Unchecked, 3.4s Time] [2022-04-28 15:16:41,717 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 377 states. [2022-04-28 15:16:42,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 377 to 331. [2022-04-28 15:16:42,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:16:42,300 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-28 15:16:42,301 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-28 15:16:42,301 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-28 15:16:42,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:42,306 INFO L93 Difference]: Finished difference Result 377 states and 441 transitions. [2022-04-28 15:16:42,306 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 441 transitions. [2022-04-28 15:16:42,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:42,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:42,307 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-28 15:16:42,307 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-28 15:16:42,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:42,312 INFO L93 Difference]: Finished difference Result 377 states and 441 transitions. [2022-04-28 15:16:42,312 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 441 transitions. [2022-04-28 15:16:42,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:42,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:42,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:16:42,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:16:42,313 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-28 15:16:42,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 331 states to 331 states and 387 transitions. [2022-04-28 15:16:42,318 INFO L78 Accepts]: Start accepts. Automaton has 331 states and 387 transitions. Word has length 111 [2022-04-28 15:16:42,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:16:42,319 INFO L495 AbstractCegarLoop]: Abstraction has 331 states and 387 transitions. [2022-04-28 15:16:42,319 INFO L496 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-28 15:16:42,319 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 331 states and 387 transitions. [2022-04-28 15:16:43,253 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-28 15:16:43,253 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 387 transitions. [2022-04-28 15:16:43,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 15:16:43,254 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:16:43,254 INFO L195 NwaCegarLoop]: 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-28 15:16:43,254 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31 [2022-04-28 15:16:43,254 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:16:43,254 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:16:43,254 INFO L85 PathProgramCache]: Analyzing trace with hash 687528413, now seen corresponding path program 1 times [2022-04-28 15:16:43,254 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:43,254 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [601622688] [2022-04-28 15:16:43,256 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:16:43,256 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:16:43,256 INFO L85 PathProgramCache]: Analyzing trace with hash 687528413, now seen corresponding path program 2 times [2022-04-28 15:16:43,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:16:43,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [417245761] [2022-04-28 15:16:43,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:16:43,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:16:43,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,430 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:16:43,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,436 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-28 15:16:43,436 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,436 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1270#return; {79301#true} is VALID [2022-04-28 15:16:43,458 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:16:43,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,463 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-28 15:16:43,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,464 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1216#return; {79301#true} is VALID [2022-04-28 15:16:43,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:16:43,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,487 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:43,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,492 INFO L290 TraceCheckUtils]: 0: Hoare triple {79301#true} ~cond := #in~cond; {79301#true} is VALID [2022-04-28 15:16:43,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume !(0 == ~cond); {79301#true} is VALID [2022-04-28 15:16:43,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79301#true} {79301#true} #1254#return; {79301#true} is VALID [2022-04-28 15:16:43,492 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-28 15:16:43,492 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-28 15:16:43,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} ~cond := #in~cond; {79301#true} is VALID [2022-04-28 15:16:43,492 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume !(0 == ~cond); {79301#true} is VALID [2022-04-28 15:16:43,492 INFO L290 TraceCheckUtils]: 4: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,493 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {79301#true} {79301#true} #1254#return; {79301#true} is VALID [2022-04-28 15:16:43,493 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-28 15:16:43,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,493 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {79301#true} {79301#true} #1218#return; {79301#true} is VALID [2022-04-28 15:16:43,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:16:43,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:43,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,534 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-28 15:16:43,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~5; {79301#true} is VALID [2022-04-28 15:16:43,534 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-28 15:16:43,534 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,534 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79301#true} {79301#true} #1176#return; {79301#true} is VALID [2022-04-28 15:16:43,534 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:16:43,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,541 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-28 15:16:43,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {79301#true} is VALID [2022-04-28 15:16:43,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {79301#true} is VALID [2022-04-28 15:16:43,541 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {79301#true} is VALID [2022-04-28 15:16:43,541 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79301#true} {79301#true} #1178#return; {79301#true} is VALID [2022-04-28 15:16:43,541 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:16:43,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,547 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-28 15:16:43,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~2; {79301#true} is VALID [2022-04-28 15:16:43,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {79301#true} is VALID [2022-04-28 15:16:43,547 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,547 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79301#true} {79301#true} #1180#return; {79301#true} is VALID [2022-04-28 15:16:43,547 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-28 15:16:43,548 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-28 15:16:43,548 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-28 15:16:43,548 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~5; {79301#true} is VALID [2022-04-28 15:16:43,548 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-28 15:16:43,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,548 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {79301#true} {79301#true} #1176#return; {79301#true} is VALID [2022-04-28 15:16:43,549 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-28 15:16:43,549 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-28 15:16:43,549 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-28 15:16:43,549 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-28 15:16:43,549 INFO L290 TraceCheckUtils]: 11: Hoare triple {79301#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {79301#true} is VALID [2022-04-28 15:16:43,549 INFO L290 TraceCheckUtils]: 12: Hoare triple {79301#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {79301#true} is VALID [2022-04-28 15:16:43,550 INFO L290 TraceCheckUtils]: 13: Hoare triple {79301#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {79301#true} is VALID [2022-04-28 15:16:43,550 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {79301#true} {79301#true} #1178#return; {79301#true} is VALID [2022-04-28 15:16:43,550 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-28 15:16:43,550 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-28 15:16:43,550 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-28 15:16:43,550 INFO L290 TraceCheckUtils]: 18: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~2; {79301#true} is VALID [2022-04-28 15:16:43,550 INFO L290 TraceCheckUtils]: 19: Hoare triple {79301#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {79301#true} is VALID [2022-04-28 15:16:43,550 INFO L290 TraceCheckUtils]: 20: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,550 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {79301#true} {79301#true} #1180#return; {79301#true} is VALID [2022-04-28 15:16:43,550 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-28 15:16:43,550 INFO L290 TraceCheckUtils]: 23: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,550 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {79301#true} {79301#true} #1220#return; {79301#true} is VALID [2022-04-28 15:16:43,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:16:43,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,588 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-28 15:16:43,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,588 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1222#return; {79301#true} is VALID [2022-04-28 15:16:43,589 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:16:43,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,599 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-28 15:16:43,599 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {79301#true} is VALID [2022-04-28 15:16:43,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {79301#true} is VALID [2022-04-28 15:16:43,599 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-28 15:16:43,599 INFO L290 TraceCheckUtils]: 4: Hoare triple {79301#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {79301#true} is VALID [2022-04-28 15:16:43,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {79301#true} assume #res.base == dest.base && #res.offset == dest.offset; {79301#true} is VALID [2022-04-28 15:16:43,599 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {79301#true} {79301#true} #1186#return; {79301#true} is VALID [2022-04-28 15:16:43,608 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:16:43,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,645 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:16:43,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:43,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,657 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-28 15:16:43,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,657 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1174#return; {79301#true} is VALID [2022-04-28 15:16:43,657 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-28 15:16:43,658 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-28 15:16:43,658 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-28 15:16:43,658 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,658 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79301#true} {79301#true} #1174#return; {79301#true} is VALID [2022-04-28 15:16:43,658 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-28 15:16:43,658 INFO L290 TraceCheckUtils]: 6: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,658 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {79301#true} {79301#true} #1210#return; {79301#true} is VALID [2022-04-28 15:16:43,667 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:16:43,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:43,672 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-28 15:16:43,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,672 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1212#return; {79301#true} is VALID [2022-04-28 15:16:43,672 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-28 15:16:43,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume 0 != ~compRegistered~0; {79301#true} is VALID [2022-04-28 15:16:43,673 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-28 15:16:43,673 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-28 15:16:43,673 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-28 15:16:43,673 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-28 15:16:43,674 INFO L290 TraceCheckUtils]: 6: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,674 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {79301#true} {79301#true} #1174#return; {79301#true} is VALID [2022-04-28 15:16:43,674 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-28 15:16:43,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,674 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {79301#true} {79301#true} #1210#return; {79301#true} is VALID [2022-04-28 15:16:43,674 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-28 15:16:43,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {79301#true} assume -1073741802 == ~compRetStatus~0; {79301#true} is VALID [2022-04-28 15:16:43,674 INFO L272 TraceCheckUtils]: 13: Hoare triple {79301#true} call stubMoreProcessingRequired(); {79423#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:43,674 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-28 15:16:43,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,674 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {79301#true} {79301#true} #1212#return; {79301#true} is VALID [2022-04-28 15:16:43,675 INFO L290 TraceCheckUtils]: 17: Hoare triple {79301#true} assume !(0 == ~__BLAST_NONDET~11); {79301#true} is VALID [2022-04-28 15:16:43,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {79301#true} assume !(1 == ~__BLAST_NONDET~11); {79301#true} is VALID [2022-04-28 15:16:43,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {79301#true} ~returnVal2~0 := 259; {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-28 15:16:43,675 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-28 15:16:43,675 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-28 15:16:43,676 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-28 15:16:43,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} #res := ~returnVal2~0; {79418#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-28 15:16:43,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {79418#(<= 259 |IofCallDriver_#res|)} assume true; {79418#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-28 15:16:43,677 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {79418#(<= 259 |IofCallDriver_#res|)} {79301#true} #1192#return; {79379#(<= 259 |KbFilter_PnP_#t~ret109|)} is VALID [2022-04-28 15:16:43,678 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-28 15:16:43,678 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-28 15:16:43,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79301#true} {79301#true} #1270#return; {79301#true} is VALID [2022-04-28 15:16:43,679 INFO L272 TraceCheckUtils]: 4: Hoare triple {79301#true} call #t~ret213 := main(); {79301#true} is VALID [2022-04-28 15:16:43,679 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-28 15:16:43,679 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-28 15:16:43,680 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-28 15:16:43,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,680 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {79301#true} {79301#true} #1216#return; {79301#true} is VALID [2022-04-28 15:16:43,680 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-28 15:16:43,681 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-28 15:16:43,681 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-28 15:16:43,681 INFO L290 TraceCheckUtils]: 13: Hoare triple {79301#true} ~cond := #in~cond; {79301#true} is VALID [2022-04-28 15:16:43,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {79301#true} assume !(0 == ~cond); {79301#true} is VALID [2022-04-28 15:16:43,681 INFO L290 TraceCheckUtils]: 15: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,681 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {79301#true} {79301#true} #1254#return; {79301#true} is VALID [2022-04-28 15:16:43,681 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-28 15:16:43,681 INFO L290 TraceCheckUtils]: 18: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,681 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {79301#true} {79301#true} #1218#return; {79301#true} is VALID [2022-04-28 15:16:43,681 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-28 15:16:43,681 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-28 15:16:43,681 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-28 15:16:43,682 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-28 15:16:43,682 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-28 15:16:43,683 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-28 15:16:43,683 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-28 15:16:43,683 INFO L290 TraceCheckUtils]: 27: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~5; {79301#true} is VALID [2022-04-28 15:16:43,683 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-28 15:16:43,683 INFO L290 TraceCheckUtils]: 29: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,684 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {79301#true} {79301#true} #1176#return; {79301#true} is VALID [2022-04-28 15:16:43,684 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-28 15:16:43,684 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-28 15:16:43,684 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-28 15:16:43,684 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-28 15:16:43,684 INFO L290 TraceCheckUtils]: 35: Hoare triple {79301#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {79301#true} is VALID [2022-04-28 15:16:43,685 INFO L290 TraceCheckUtils]: 36: Hoare triple {79301#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {79301#true} is VALID [2022-04-28 15:16:43,685 INFO L290 TraceCheckUtils]: 37: Hoare triple {79301#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {79301#true} is VALID [2022-04-28 15:16:43,685 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {79301#true} {79301#true} #1178#return; {79301#true} is VALID [2022-04-28 15:16:43,685 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-28 15:16:43,685 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-28 15:16:43,685 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-28 15:16:43,685 INFO L290 TraceCheckUtils]: 42: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~2; {79301#true} is VALID [2022-04-28 15:16:43,685 INFO L290 TraceCheckUtils]: 43: Hoare triple {79301#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {79301#true} is VALID [2022-04-28 15:16:43,685 INFO L290 TraceCheckUtils]: 44: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,685 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {79301#true} {79301#true} #1180#return; {79301#true} is VALID [2022-04-28 15:16:43,685 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-28 15:16:43,685 INFO L290 TraceCheckUtils]: 47: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,685 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {79301#true} {79301#true} #1220#return; {79301#true} is VALID [2022-04-28 15:16:43,685 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-28 15:16:43,686 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-28 15:16:43,686 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-28 15:16:43,686 INFO L290 TraceCheckUtils]: 52: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,686 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {79301#true} {79301#true} #1222#return; {79301#true} is VALID [2022-04-28 15:16:43,686 INFO L290 TraceCheckUtils]: 54: Hoare triple {79301#true} assume !!(~status~5 >= 0); {79301#true} is VALID [2022-04-28 15:16:43,686 INFO L290 TraceCheckUtils]: 55: Hoare triple {79301#true} assume !(0 == ~__BLAST_NONDET~0); {79301#true} is VALID [2022-04-28 15:16:43,686 INFO L290 TraceCheckUtils]: 56: Hoare triple {79301#true} assume !(1 == ~__BLAST_NONDET~0); {79301#true} is VALID [2022-04-28 15:16:43,686 INFO L290 TraceCheckUtils]: 57: Hoare triple {79301#true} assume !(2 == ~__BLAST_NONDET~0); {79301#true} is VALID [2022-04-28 15:16:43,687 INFO L290 TraceCheckUtils]: 58: Hoare triple {79301#true} assume 3 == ~__BLAST_NONDET~0; {79301#true} is VALID [2022-04-28 15:16:43,687 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-28 15:16:43,687 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-28 15:16:43,687 INFO L290 TraceCheckUtils]: 61: Hoare triple {79301#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {79301#true} is VALID [2022-04-28 15:16:43,687 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-28 15:16:43,688 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-28 15:16:43,688 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-28 15:16:43,688 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {79301#true} is VALID [2022-04-28 15:16:43,688 INFO L290 TraceCheckUtils]: 66: Hoare triple {79301#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {79301#true} is VALID [2022-04-28 15:16:43,688 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-28 15:16:43,688 INFO L290 TraceCheckUtils]: 68: Hoare triple {79301#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {79301#true} is VALID [2022-04-28 15:16:43,688 INFO L290 TraceCheckUtils]: 69: Hoare triple {79301#true} assume #res.base == dest.base && #res.offset == dest.offset; {79301#true} is VALID [2022-04-28 15:16:43,688 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {79301#true} {79301#true} #1186#return; {79301#true} is VALID [2022-04-28 15:16:43,688 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-28 15:16:43,688 INFO L290 TraceCheckUtils]: 72: Hoare triple {79301#true} assume !(~s~0 != ~NP~0); {79301#true} is VALID [2022-04-28 15:16:43,688 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-28 15:16:43,688 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-28 15:16:43,689 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-28 15:16:43,689 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-28 15:16:43,689 INFO L290 TraceCheckUtils]: 77: Hoare triple {79301#true} assume 0 != ~compRegistered~0; {79301#true} is VALID [2022-04-28 15:16:43,690 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-28 15:16:43,690 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-28 15:16:43,691 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-28 15:16:43,691 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-28 15:16:43,691 INFO L290 TraceCheckUtils]: 82: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,691 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {79301#true} {79301#true} #1174#return; {79301#true} is VALID [2022-04-28 15:16:43,691 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-28 15:16:43,691 INFO L290 TraceCheckUtils]: 85: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,691 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {79301#true} {79301#true} #1210#return; {79301#true} is VALID [2022-04-28 15:16:43,691 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-28 15:16:43,691 INFO L290 TraceCheckUtils]: 88: Hoare triple {79301#true} assume -1073741802 == ~compRetStatus~0; {79301#true} is VALID [2022-04-28 15:16:43,691 INFO L272 TraceCheckUtils]: 89: Hoare triple {79301#true} call stubMoreProcessingRequired(); {79423#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:43,691 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-28 15:16:43,692 INFO L290 TraceCheckUtils]: 91: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-28 15:16:43,692 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {79301#true} {79301#true} #1212#return; {79301#true} is VALID [2022-04-28 15:16:43,692 INFO L290 TraceCheckUtils]: 93: Hoare triple {79301#true} assume !(0 == ~__BLAST_NONDET~11); {79301#true} is VALID [2022-04-28 15:16:43,692 INFO L290 TraceCheckUtils]: 94: Hoare triple {79301#true} assume !(1 == ~__BLAST_NONDET~11); {79301#true} is VALID [2022-04-28 15:16:43,692 INFO L290 TraceCheckUtils]: 95: Hoare triple {79301#true} ~returnVal2~0 := 259; {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-28 15:16:43,692 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-28 15:16:43,693 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-28 15:16:43,693 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-28 15:16:43,693 INFO L290 TraceCheckUtils]: 99: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} #res := ~returnVal2~0; {79418#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-28 15:16:43,693 INFO L290 TraceCheckUtils]: 100: Hoare triple {79418#(<= 259 |IofCallDriver_#res|)} assume true; {79418#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-28 15:16:43,694 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {79418#(<= 259 |IofCallDriver_#res|)} {79301#true} #1192#return; {79379#(<= 259 |KbFilter_PnP_#t~ret109|)} is VALID [2022-04-28 15:16:43,694 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-28 15:16:43,695 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-28 15:16:43,695 INFO L290 TraceCheckUtils]: 104: Hoare triple {79380#(<= 259 KbFilter_PnP_~status~3)} assume !(~status~3 >= 0); {79302#false} is VALID [2022-04-28 15:16:43,695 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-28 15:16:43,695 INFO L272 TraceCheckUtils]: 106: Hoare triple {79302#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {79302#false} is VALID [2022-04-28 15:16:43,695 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-28 15:16:43,695 INFO L290 TraceCheckUtils]: 108: Hoare triple {79302#false} assume !(~s~0 == ~NP~0); {79302#false} is VALID [2022-04-28 15:16:43,695 INFO L272 TraceCheckUtils]: 109: Hoare triple {79302#false} call errorFn(); {79302#false} is VALID [2022-04-28 15:16:43,695 INFO L290 TraceCheckUtils]: 110: Hoare triple {79302#false} assume !false; {79302#false} is VALID [2022-04-28 15:16:43,696 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-28 15:16:43,696 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:16:43,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [417245761] [2022-04-28 15:16:43,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [417245761] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:43,696 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:43,696 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:16:43,696 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:16:43,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [601622688] [2022-04-28 15:16:43,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [601622688] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:43,696 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:43,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:16:43,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [548786968] [2022-04-28 15:16:43,697 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:16:43,697 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-28 15:16:43,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:16:43,697 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-28 15:16:43,786 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-28 15:16:43,786 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 15:16:43,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:43,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 15:16:43,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:16:43,787 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-28 15:16:45,914 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-28 15:16:54,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:54,443 INFO L93 Difference]: Finished difference Result 419 states and 493 transitions. [2022-04-28 15:16:54,443 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 15:16:54,443 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-28 15:16:54,444 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:16:54,444 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-28 15:16:54,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 228 transitions. [2022-04-28 15:16:54,445 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-28 15:16:54,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 228 transitions. [2022-04-28 15:16:54,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 228 transitions. [2022-04-28 15:16:54,677 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-28 15:16:54,684 INFO L225 Difference]: With dead ends: 419 [2022-04-28 15:16:54,685 INFO L226 Difference]: Without dead ends: 390 [2022-04-28 15:16:54,685 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=84, Invalid=296, Unknown=0, NotChecked=0, Total=380 [2022-04-28 15:16:54,685 INFO L413 NwaCegarLoop]: 149 mSDtfsCounter, 199 mSDsluCounter, 383 mSDsCounter, 0 mSdLazyCounter, 964 mSolverCounterSat, 105 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.2s 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, 5.2s IncrementalHoareTripleChecker+Time [2022-04-28 15:16:54,685 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [204 Valid, 532 Invalid, 1070 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [105 Valid, 964 Invalid, 1 Unknown, 0 Unchecked, 5.2s Time] [2022-04-28 15:16:54,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 390 states. [2022-04-28 15:16:55,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 390 to 341. [2022-04-28 15:16:55,328 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:16:55,329 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-28 15:16:55,329 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-28 15:16:55,329 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-28 15:16:55,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:55,335 INFO L93 Difference]: Finished difference Result 390 states and 457 transitions. [2022-04-28 15:16:55,335 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 457 transitions. [2022-04-28 15:16:55,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:55,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:55,336 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-28 15:16:55,336 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-28 15:16:55,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:16:55,341 INFO L93 Difference]: Finished difference Result 390 states and 457 transitions. [2022-04-28 15:16:55,341 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 457 transitions. [2022-04-28 15:16:55,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:16:55,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:16:55,342 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:16:55,342 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:16:55,343 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-28 15:16:55,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 341 states to 341 states and 397 transitions. [2022-04-28 15:16:55,349 INFO L78 Accepts]: Start accepts. Automaton has 341 states and 397 transitions. Word has length 111 [2022-04-28 15:16:55,349 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:16:55,349 INFO L495 AbstractCegarLoop]: Abstraction has 341 states and 397 transitions. [2022-04-28 15:16:55,349 INFO L496 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-28 15:16:55,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 341 states and 397 transitions. [2022-04-28 15:16:56,312 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-28 15:16:56,312 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 397 transitions. [2022-04-28 15:16:56,312 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-28 15:16:56,312 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:16:56,313 INFO L195 NwaCegarLoop]: 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-28 15:16:56,313 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32 [2022-04-28 15:16:56,313 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:16:56,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:16:56,313 INFO L85 PathProgramCache]: Analyzing trace with hash 1354550086, now seen corresponding path program 1 times [2022-04-28 15:16:56,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:56,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1052171693] [2022-04-28 15:16:56,315 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:16:56,315 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:16:56,315 INFO L85 PathProgramCache]: Analyzing trace with hash 1354550086, now seen corresponding path program 2 times [2022-04-28 15:16:56,315 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:16:56,315 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1531847706] [2022-04-28 15:16:56,315 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:16:56,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:16:56,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:16:56,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,515 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-28 15:16:56,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,515 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81740#true} {81740#true} #1270#return; {81740#true} is VALID [2022-04-28 15:16:56,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:16:56,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,553 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-28 15:16:56,554 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-28 15:16:56,554 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-28 15:16:56,562 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:16:56,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,576 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:56,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {81740#true} ~cond := #in~cond; {81740#true} is VALID [2022-04-28 15:16:56,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume !(0 == ~cond); {81740#true} is VALID [2022-04-28 15:16:56,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81740#true} {81740#true} #1254#return; {81740#true} is VALID [2022-04-28 15:16:56,581 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-28 15:16:56,581 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-28 15:16:56,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} ~cond := #in~cond; {81740#true} is VALID [2022-04-28 15:16:56,581 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume !(0 == ~cond); {81740#true} is VALID [2022-04-28 15:16:56,581 INFO L290 TraceCheckUtils]: 4: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,581 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {81740#true} {81740#true} #1254#return; {81740#true} is VALID [2022-04-28 15:16:56,582 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-28 15:16:56,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,582 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-28 15:16:56,591 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:16:56,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:56,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,624 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-28 15:16:56,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~5; {81740#true} is VALID [2022-04-28 15:16:56,624 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-28 15:16:56,624 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,624 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {81740#true} {81740#true} #1176#return; {81740#true} is VALID [2022-04-28 15:16:56,624 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:16:56,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,630 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-28 15:16:56,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {81740#true} is VALID [2022-04-28 15:16:56,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {81740#true} is VALID [2022-04-28 15:16:56,630 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {81740#true} is VALID [2022-04-28 15:16:56,630 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {81740#true} {81740#true} #1178#return; {81740#true} is VALID [2022-04-28 15:16:56,630 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:16:56,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,635 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-28 15:16:56,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~2; {81740#true} is VALID [2022-04-28 15:16:56,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {81740#true} is VALID [2022-04-28 15:16:56,635 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,636 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {81740#true} {81740#true} #1180#return; {81740#true} is VALID [2022-04-28 15:16:56,636 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-28 15:16:56,637 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-28 15:16:56,637 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-28 15:16:56,637 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~5; {81740#true} is VALID [2022-04-28 15:16:56,637 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-28 15:16:56,637 INFO L290 TraceCheckUtils]: 5: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,637 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {81740#true} {81740#true} #1176#return; {81740#true} is VALID [2022-04-28 15:16:56,637 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-28 15:16:56,637 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-28 15:16:56,638 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-28 15:16:56,638 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-28 15:16:56,638 INFO L290 TraceCheckUtils]: 11: Hoare triple {81740#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {81740#true} is VALID [2022-04-28 15:16:56,638 INFO L290 TraceCheckUtils]: 12: Hoare triple {81740#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {81740#true} is VALID [2022-04-28 15:16:56,638 INFO L290 TraceCheckUtils]: 13: Hoare triple {81740#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {81740#true} is VALID [2022-04-28 15:16:56,638 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {81740#true} {81740#true} #1178#return; {81740#true} is VALID [2022-04-28 15:16:56,638 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-28 15:16:56,638 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-28 15:16:56,638 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-28 15:16:56,639 INFO L290 TraceCheckUtils]: 18: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~2; {81740#true} is VALID [2022-04-28 15:16:56,639 INFO L290 TraceCheckUtils]: 19: Hoare triple {81740#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {81740#true} is VALID [2022-04-28 15:16:56,639 INFO L290 TraceCheckUtils]: 20: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,639 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {81740#true} {81740#true} #1180#return; {81740#true} is VALID [2022-04-28 15:16:56,639 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-28 15:16:56,639 INFO L290 TraceCheckUtils]: 23: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,640 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-28 15:16:56,653 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:16:56,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,659 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-28 15:16:56,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,660 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-28 15:16:56,660 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:16:56,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,674 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-28 15:16:56,675 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {81740#true} is VALID [2022-04-28 15:16:56,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {81740#true} is VALID [2022-04-28 15:16:56,675 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-28 15:16:56,675 INFO L290 TraceCheckUtils]: 4: Hoare triple {81740#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {81740#true} is VALID [2022-04-28 15:16:56,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {81740#true} assume #res.base == dest.base && #res.offset == dest.offset; {81740#true} is VALID [2022-04-28 15:16:56,676 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-28 15:16:56,685 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:16:56,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:16:56,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,736 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:16:56,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,740 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-28 15:16:56,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,741 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81740#true} {81740#true} #1174#return; {81740#true} is VALID [2022-04-28 15:16:56,741 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-28 15:16:56,741 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-28 15:16:56,741 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-28 15:16:56,742 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,742 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {81740#true} {81740#true} #1174#return; {81740#true} is VALID [2022-04-28 15:16:56,742 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-28 15:16:56,742 INFO L290 TraceCheckUtils]: 6: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,742 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {81740#true} {81740#true} #1210#return; {81740#true} is VALID [2022-04-28 15:16:56,750 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:16:56,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:16:56,754 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-28 15:16:56,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,754 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81740#true} {81740#true} #1212#return; {81740#true} is VALID [2022-04-28 15:16:56,754 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-28 15:16:56,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume 0 != ~compRegistered~0; {81740#true} is VALID [2022-04-28 15:16:56,755 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-28 15:16:56,755 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-28 15:16:56,756 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-28 15:16:56,756 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-28 15:16:56,756 INFO L290 TraceCheckUtils]: 6: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,756 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {81740#true} {81740#true} #1174#return; {81740#true} is VALID [2022-04-28 15:16:56,756 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-28 15:16:56,756 INFO L290 TraceCheckUtils]: 9: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,756 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {81740#true} {81740#true} #1210#return; {81740#true} is VALID [2022-04-28 15:16:56,756 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-28 15:16:56,756 INFO L290 TraceCheckUtils]: 12: Hoare triple {81740#true} assume -1073741802 == ~compRetStatus~0; {81740#true} is VALID [2022-04-28 15:16:56,757 INFO L272 TraceCheckUtils]: 13: Hoare triple {81740#true} call stubMoreProcessingRequired(); {81862#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:56,757 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-28 15:16:56,757 INFO L290 TraceCheckUtils]: 15: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,757 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {81740#true} {81740#true} #1212#return; {81740#true} is VALID [2022-04-28 15:16:56,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {81740#true} assume !(0 == ~__BLAST_NONDET~11); {81740#true} is VALID [2022-04-28 15:16:56,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {81740#true} assume 1 == ~__BLAST_NONDET~11; {81740#true} is VALID [2022-04-28 15:16:56,757 INFO L290 TraceCheckUtils]: 19: Hoare triple {81740#true} ~returnVal2~0 := -1073741823; {81740#true} is VALID [2022-04-28 15:16:56,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {81740#true} assume !(~s~0 == ~NP~0); {81740#true} is VALID [2022-04-28 15:16:56,757 INFO L290 TraceCheckUtils]: 21: Hoare triple {81740#true} assume ~s~0 == ~MPR1~0; {81740#true} is VALID [2022-04-28 15:16:56,758 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-28 15:16:56,758 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-28 15:16:56,758 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-28 15:16:56,759 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-28 15:16:56,760 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-28 15:16:56,760 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-28 15:16:56,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81740#true} {81740#true} #1270#return; {81740#true} is VALID [2022-04-28 15:16:56,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {81740#true} call #t~ret213 := main(); {81740#true} is VALID [2022-04-28 15:16:56,761 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-28 15:16:56,761 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-28 15:16:56,762 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-28 15:16:56,762 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-28 15:16:56,763 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-28 15:16:56,764 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-28 15:16:56,764 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-28 15:16:56,764 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-28 15:16:56,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {81740#true} ~cond := #in~cond; {81740#true} is VALID [2022-04-28 15:16:56,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {81740#true} assume !(0 == ~cond); {81740#true} is VALID [2022-04-28 15:16:56,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,764 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {81740#true} {81740#true} #1254#return; {81740#true} is VALID [2022-04-28 15:16:56,764 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-28 15:16:56,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,765 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-28 15:16:56,765 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-28 15:16:56,766 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-28 15:16:56,766 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-28 15:16:56,767 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-28 15:16:56,767 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-28 15:16:56,768 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-28 15:16:56,768 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-28 15:16:56,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~5; {81740#true} is VALID [2022-04-28 15:16:56,769 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-28 15:16:56,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,769 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {81740#true} {81740#true} #1176#return; {81740#true} is VALID [2022-04-28 15:16:56,769 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-28 15:16:56,769 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-28 15:16:56,769 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-28 15:16:56,769 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-28 15:16:56,770 INFO L290 TraceCheckUtils]: 35: Hoare triple {81740#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {81740#true} is VALID [2022-04-28 15:16:56,770 INFO L290 TraceCheckUtils]: 36: Hoare triple {81740#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {81740#true} is VALID [2022-04-28 15:16:56,770 INFO L290 TraceCheckUtils]: 37: Hoare triple {81740#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {81740#true} is VALID [2022-04-28 15:16:56,770 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {81740#true} {81740#true} #1178#return; {81740#true} is VALID [2022-04-28 15:16:56,770 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-28 15:16:56,770 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-28 15:16:56,770 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-28 15:16:56,770 INFO L290 TraceCheckUtils]: 42: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~2; {81740#true} is VALID [2022-04-28 15:16:56,770 INFO L290 TraceCheckUtils]: 43: Hoare triple {81740#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {81740#true} is VALID [2022-04-28 15:16:56,770 INFO L290 TraceCheckUtils]: 44: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,770 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {81740#true} {81740#true} #1180#return; {81740#true} is VALID [2022-04-28 15:16:56,770 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-28 15:16:56,770 INFO L290 TraceCheckUtils]: 47: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,790 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-28 15:16:56,790 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-28 15:16:56,791 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-28 15:16:56,792 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-28 15:16:56,792 INFO L290 TraceCheckUtils]: 52: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,792 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-28 15:16:56,793 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-28 15:16:56,793 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-28 15:16:56,793 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-28 15:16:56,793 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-28 15:16:56,794 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-28 15:16:56,794 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-28 15:16:56,795 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-28 15:16:56,795 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-28 15:16:56,796 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-28 15:16:56,797 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-28 15:16:56,797 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-28 15:16:56,797 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {81740#true} is VALID [2022-04-28 15:16:56,797 INFO L290 TraceCheckUtils]: 66: Hoare triple {81740#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {81740#true} is VALID [2022-04-28 15:16:56,797 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-28 15:16:56,797 INFO L290 TraceCheckUtils]: 68: Hoare triple {81740#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {81740#true} is VALID [2022-04-28 15:16:56,797 INFO L290 TraceCheckUtils]: 69: Hoare triple {81740#true} assume #res.base == dest.base && #res.offset == dest.offset; {81740#true} is VALID [2022-04-28 15:16:56,798 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-28 15:16:56,798 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-28 15:16:56,799 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-28 15:16:56,799 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-28 15:16:56,800 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-28 15:16:56,801 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-28 15:16:56,801 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-28 15:16:56,801 INFO L290 TraceCheckUtils]: 77: Hoare triple {81740#true} assume 0 != ~compRegistered~0; {81740#true} is VALID [2022-04-28 15:16:56,802 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-28 15:16:56,802 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-28 15:16:56,802 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-28 15:16:56,802 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-28 15:16:56,802 INFO L290 TraceCheckUtils]: 82: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,802 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {81740#true} {81740#true} #1174#return; {81740#true} is VALID [2022-04-28 15:16:56,802 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-28 15:16:56,803 INFO L290 TraceCheckUtils]: 85: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,803 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {81740#true} {81740#true} #1210#return; {81740#true} is VALID [2022-04-28 15:16:56,803 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-28 15:16:56,803 INFO L290 TraceCheckUtils]: 88: Hoare triple {81740#true} assume -1073741802 == ~compRetStatus~0; {81740#true} is VALID [2022-04-28 15:16:56,803 INFO L272 TraceCheckUtils]: 89: Hoare triple {81740#true} call stubMoreProcessingRequired(); {81862#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:16:56,803 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-28 15:16:56,803 INFO L290 TraceCheckUtils]: 91: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-28 15:16:56,803 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {81740#true} {81740#true} #1212#return; {81740#true} is VALID [2022-04-28 15:16:56,803 INFO L290 TraceCheckUtils]: 93: Hoare triple {81740#true} assume !(0 == ~__BLAST_NONDET~11); {81740#true} is VALID [2022-04-28 15:16:56,803 INFO L290 TraceCheckUtils]: 94: Hoare triple {81740#true} assume 1 == ~__BLAST_NONDET~11; {81740#true} is VALID [2022-04-28 15:16:56,803 INFO L290 TraceCheckUtils]: 95: Hoare triple {81740#true} ~returnVal2~0 := -1073741823; {81740#true} is VALID [2022-04-28 15:16:56,804 INFO L290 TraceCheckUtils]: 96: Hoare triple {81740#true} assume !(~s~0 == ~NP~0); {81740#true} is VALID [2022-04-28 15:16:56,804 INFO L290 TraceCheckUtils]: 97: Hoare triple {81740#true} assume ~s~0 == ~MPR1~0; {81740#true} is VALID [2022-04-28 15:16:56,804 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-28 15:16:56,804 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-28 15:16:56,804 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-28 15:16:56,805 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-28 15:16:56,806 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-28 15:16:56,806 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-28 15:16:56,807 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-28 15:16:56,807 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-28 15:16:56,807 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-28 15:16:56,807 INFO L290 TraceCheckUtils]: 107: Hoare triple {81741#false} assume !(1 == ~setEventCalled~0); {81741#false} is VALID [2022-04-28 15:16:56,807 INFO L290 TraceCheckUtils]: 108: Hoare triple {81741#false} assume !(1 == ~customIrp~0); {81741#false} is VALID [2022-04-28 15:16:56,808 INFO L290 TraceCheckUtils]: 109: Hoare triple {81741#false} assume ~s~0 == ~MPR3~0; {81741#false} is VALID [2022-04-28 15:16:56,808 INFO L272 TraceCheckUtils]: 110: Hoare triple {81741#false} call errorFn(); {81741#false} is VALID [2022-04-28 15:16:56,808 INFO L290 TraceCheckUtils]: 111: Hoare triple {81741#false} assume !false; {81741#false} is VALID [2022-04-28 15:16:56,808 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-28 15:16:56,808 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:16:56,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1531847706] [2022-04-28 15:16:56,808 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1531847706] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:56,808 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:56,808 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:16:56,808 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:16:56,809 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1052171693] [2022-04-28 15:16:56,809 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1052171693] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:16:56,809 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:16:56,809 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:16:56,809 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1207758345] [2022-04-28 15:16:56,809 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:16:56,809 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-28 15:16:56,809 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:16:56,809 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-28 15:16:56,888 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-28 15:16:56,888 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 15:16:56,888 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:16:56,888 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 15:16:56,889 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:16:56,889 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-28 15:16:59,057 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-28 15:17:03,872 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.37s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-28 15:17:06,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:06,229 INFO L93 Difference]: Finished difference Result 420 states and 488 transitions. [2022-04-28 15:17:06,229 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 15:17:06,229 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-28 15:17:06,229 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:17:06,229 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-28 15:17:06,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 265 transitions. [2022-04-28 15:17:06,231 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-28 15:17:06,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 265 transitions. [2022-04-28 15:17:06,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 265 transitions. [2022-04-28 15:17:06,521 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-28 15:17:06,527 INFO L225 Difference]: With dead ends: 420 [2022-04-28 15:17:06,527 INFO L226 Difference]: Without dead ends: 373 [2022-04-28 15:17:06,528 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=258, Invalid=672, Unknown=0, NotChecked=0, Total=930 [2022-04-28 15:17:06,528 INFO L413 NwaCegarLoop]: 130 mSDtfsCounter, 688 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 402 mSolverCounterSat, 296 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.3s 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, 5.3s IncrementalHoareTripleChecker+Time [2022-04-28 15:17:06,528 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [693 Valid, 290 Invalid, 699 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [296 Valid, 402 Invalid, 1 Unknown, 0 Unchecked, 5.3s Time] [2022-04-28 15:17:06,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 373 states. [2022-04-28 15:17:07,281 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 373 to 335. [2022-04-28 15:17:07,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:17:07,281 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-28 15:17:07,282 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-28 15:17:07,282 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-28 15:17:07,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:07,287 INFO L93 Difference]: Finished difference Result 373 states and 429 transitions. [2022-04-28 15:17:07,287 INFO L276 IsEmpty]: Start isEmpty. Operand 373 states and 429 transitions. [2022-04-28 15:17:07,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:17:07,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:17:07,288 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-28 15:17:07,288 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-28 15:17:07,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:07,293 INFO L93 Difference]: Finished difference Result 373 states and 429 transitions. [2022-04-28 15:17:07,293 INFO L276 IsEmpty]: Start isEmpty. Operand 373 states and 429 transitions. [2022-04-28 15:17:07,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:17:07,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:17:07,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:17:07,293 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:17:07,294 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-28 15:17:07,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 383 transitions. [2022-04-28 15:17:07,299 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 383 transitions. Word has length 112 [2022-04-28 15:17:07,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:17:07,299 INFO L495 AbstractCegarLoop]: Abstraction has 335 states and 383 transitions. [2022-04-28 15:17:07,299 INFO L496 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-28 15:17:07,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 335 states and 383 transitions. [2022-04-28 15:17:08,232 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-28 15:17:08,233 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 383 transitions. [2022-04-28 15:17:08,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-28 15:17:08,233 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:17:08,233 INFO L195 NwaCegarLoop]: 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-28 15:17:08,233 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33 [2022-04-28 15:17:08,233 INFO L420 AbstractCegarLoop]: === Iteration 35 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:17:08,234 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:17:08,234 INFO L85 PathProgramCache]: Analyzing trace with hash -1326365972, now seen corresponding path program 1 times [2022-04-28 15:17:08,234 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:17:08,234 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2081003730] [2022-04-28 15:17:08,236 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:17:08,236 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:17:08,236 INFO L85 PathProgramCache]: Analyzing trace with hash -1326365972, now seen corresponding path program 2 times [2022-04-28 15:17:08,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:17:08,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1241305395] [2022-04-28 15:17:08,236 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:17:08,236 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:17:08,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,398 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:17:08,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,405 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-28 15:17:08,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,405 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1270#return; {84161#true} is VALID [2022-04-28 15:17:08,426 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:17:08,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,431 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-28 15:17:08,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,431 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1216#return; {84161#true} is VALID [2022-04-28 15:17:08,438 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:17:08,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:08,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,453 INFO L290 TraceCheckUtils]: 0: Hoare triple {84161#true} ~cond := #in~cond; {84161#true} is VALID [2022-04-28 15:17:08,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume !(0 == ~cond); {84161#true} is VALID [2022-04-28 15:17:08,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84161#true} {84161#true} #1254#return; {84161#true} is VALID [2022-04-28 15:17:08,453 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-28 15:17:08,453 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-28 15:17:08,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} ~cond := #in~cond; {84161#true} is VALID [2022-04-28 15:17:08,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume !(0 == ~cond); {84161#true} is VALID [2022-04-28 15:17:08,453 INFO L290 TraceCheckUtils]: 4: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,453 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {84161#true} {84161#true} #1254#return; {84161#true} is VALID [2022-04-28 15:17:08,453 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-28 15:17:08,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,454 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {84161#true} {84161#true} #1218#return; {84161#true} is VALID [2022-04-28 15:17:08,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:17:08,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,483 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:08,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,491 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-28 15:17:08,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~5; {84161#true} is VALID [2022-04-28 15:17:08,491 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-28 15:17:08,491 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,491 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {84161#true} {84161#true} #1176#return; {84161#true} is VALID [2022-04-28 15:17:08,491 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:17:08,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,497 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-28 15:17:08,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {84161#true} is VALID [2022-04-28 15:17:08,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {84161#true} is VALID [2022-04-28 15:17:08,498 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {84161#true} is VALID [2022-04-28 15:17:08,498 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {84161#true} {84161#true} #1178#return; {84161#true} is VALID [2022-04-28 15:17:08,498 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:17:08,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,503 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-28 15:17:08,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~2; {84161#true} is VALID [2022-04-28 15:17:08,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {84161#true} is VALID [2022-04-28 15:17:08,503 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,503 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {84161#true} {84161#true} #1180#return; {84161#true} is VALID [2022-04-28 15:17:08,503 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-28 15:17:08,504 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-28 15:17:08,504 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-28 15:17:08,504 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~5; {84161#true} is VALID [2022-04-28 15:17:08,505 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-28 15:17:08,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,505 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {84161#true} {84161#true} #1176#return; {84161#true} is VALID [2022-04-28 15:17:08,505 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-28 15:17:08,505 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-28 15:17:08,505 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-28 15:17:08,505 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-28 15:17:08,506 INFO L290 TraceCheckUtils]: 11: Hoare triple {84161#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {84161#true} is VALID [2022-04-28 15:17:08,506 INFO L290 TraceCheckUtils]: 12: Hoare triple {84161#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {84161#true} is VALID [2022-04-28 15:17:08,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {84161#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {84161#true} is VALID [2022-04-28 15:17:08,506 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {84161#true} {84161#true} #1178#return; {84161#true} is VALID [2022-04-28 15:17:08,506 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-28 15:17:08,506 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-28 15:17:08,506 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-28 15:17:08,506 INFO L290 TraceCheckUtils]: 18: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~2; {84161#true} is VALID [2022-04-28 15:17:08,506 INFO L290 TraceCheckUtils]: 19: Hoare triple {84161#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {84161#true} is VALID [2022-04-28 15:17:08,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,506 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {84161#true} {84161#true} #1180#return; {84161#true} is VALID [2022-04-28 15:17:08,506 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-28 15:17:08,506 INFO L290 TraceCheckUtils]: 23: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,506 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {84161#true} {84161#true} #1220#return; {84161#true} is VALID [2022-04-28 15:17:08,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:17:08,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,542 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-28 15:17:08,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,542 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1222#return; {84161#true} is VALID [2022-04-28 15:17:08,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:17:08,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,554 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-28 15:17:08,554 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {84161#true} is VALID [2022-04-28 15:17:08,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {84161#true} is VALID [2022-04-28 15:17:08,555 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-28 15:17:08,555 INFO L290 TraceCheckUtils]: 4: Hoare triple {84161#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {84161#true} is VALID [2022-04-28 15:17:08,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {84161#true} assume #res.base == dest.base && #res.offset == dest.offset; {84161#true} is VALID [2022-04-28 15:17:08,555 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {84161#true} {84161#true} #1186#return; {84161#true} is VALID [2022-04-28 15:17:08,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:17:08,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,612 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:17:08,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,618 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:08,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,624 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-28 15:17:08,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,624 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1174#return; {84161#true} is VALID [2022-04-28 15:17:08,624 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-28 15:17:08,625 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-28 15:17:08,625 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-28 15:17:08,625 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,625 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {84161#true} {84161#true} #1174#return; {84161#true} is VALID [2022-04-28 15:17:08,625 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-28 15:17:08,625 INFO L290 TraceCheckUtils]: 6: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,625 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {84161#true} {84161#true} #1210#return; {84161#true} is VALID [2022-04-28 15:17:08,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:17:08,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:08,639 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-28 15:17:08,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,639 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1212#return; {84161#true} is VALID [2022-04-28 15:17:08,639 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-28 15:17:08,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume 0 != ~compRegistered~0; {84161#true} is VALID [2022-04-28 15:17:08,640 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-28 15:17:08,640 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-28 15:17:08,641 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-28 15:17:08,641 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-28 15:17:08,641 INFO L290 TraceCheckUtils]: 6: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,641 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {84161#true} {84161#true} #1174#return; {84161#true} is VALID [2022-04-28 15:17:08,641 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-28 15:17:08,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {84161#true} {84161#true} #1210#return; {84161#true} is VALID [2022-04-28 15:17:08,641 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-28 15:17:08,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {84161#true} assume -1073741802 == ~compRetStatus~0; {84161#true} is VALID [2022-04-28 15:17:08,642 INFO L272 TraceCheckUtils]: 13: Hoare triple {84161#true} call stubMoreProcessingRequired(); {84283#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:08,642 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-28 15:17:08,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,642 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {84161#true} {84161#true} #1212#return; {84161#true} is VALID [2022-04-28 15:17:08,642 INFO L290 TraceCheckUtils]: 17: Hoare triple {84161#true} assume !(0 == ~__BLAST_NONDET~11); {84161#true} is VALID [2022-04-28 15:17:08,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {84161#true} assume !(1 == ~__BLAST_NONDET~11); {84161#true} is VALID [2022-04-28 15:17:08,642 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-28 15:17:08,643 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-28 15:17:08,643 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-28 15:17:08,643 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-28 15:17:08,644 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-28 15:17:08,644 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-28 15:17:08,645 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-28 15:17:08,646 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-28 15:17:08,646 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-28 15:17:08,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84161#true} {84161#true} #1270#return; {84161#true} is VALID [2022-04-28 15:17:08,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {84161#true} call #t~ret213 := main(); {84161#true} is VALID [2022-04-28 15:17:08,647 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-28 15:17:08,648 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-28 15:17:08,648 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-28 15:17:08,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,648 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {84161#true} {84161#true} #1216#return; {84161#true} is VALID [2022-04-28 15:17:08,648 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-28 15:17:08,649 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-28 15:17:08,649 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-28 15:17:08,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {84161#true} ~cond := #in~cond; {84161#true} is VALID [2022-04-28 15:17:08,649 INFO L290 TraceCheckUtils]: 14: Hoare triple {84161#true} assume !(0 == ~cond); {84161#true} is VALID [2022-04-28 15:17:08,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,649 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {84161#true} {84161#true} #1254#return; {84161#true} is VALID [2022-04-28 15:17:08,649 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-28 15:17:08,649 INFO L290 TraceCheckUtils]: 18: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,649 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {84161#true} {84161#true} #1218#return; {84161#true} is VALID [2022-04-28 15:17:08,649 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-28 15:17:08,649 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-28 15:17:08,649 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-28 15:17:08,650 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-28 15:17:08,650 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-28 15:17:08,651 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-28 15:17:08,651 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-28 15:17:08,651 INFO L290 TraceCheckUtils]: 27: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~5; {84161#true} is VALID [2022-04-28 15:17:08,651 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-28 15:17:08,652 INFO L290 TraceCheckUtils]: 29: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,652 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {84161#true} {84161#true} #1176#return; {84161#true} is VALID [2022-04-28 15:17:08,652 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-28 15:17:08,652 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-28 15:17:08,652 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-28 15:17:08,652 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-28 15:17:08,652 INFO L290 TraceCheckUtils]: 35: Hoare triple {84161#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {84161#true} is VALID [2022-04-28 15:17:08,653 INFO L290 TraceCheckUtils]: 36: Hoare triple {84161#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {84161#true} is VALID [2022-04-28 15:17:08,653 INFO L290 TraceCheckUtils]: 37: Hoare triple {84161#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {84161#true} is VALID [2022-04-28 15:17:08,653 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {84161#true} {84161#true} #1178#return; {84161#true} is VALID [2022-04-28 15:17:08,653 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-28 15:17:08,653 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-28 15:17:08,653 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-28 15:17:08,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~2; {84161#true} is VALID [2022-04-28 15:17:08,653 INFO L290 TraceCheckUtils]: 43: Hoare triple {84161#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {84161#true} is VALID [2022-04-28 15:17:08,653 INFO L290 TraceCheckUtils]: 44: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,653 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {84161#true} {84161#true} #1180#return; {84161#true} is VALID [2022-04-28 15:17:08,653 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-28 15:17:08,653 INFO L290 TraceCheckUtils]: 47: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,653 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {84161#true} {84161#true} #1220#return; {84161#true} is VALID [2022-04-28 15:17:08,653 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-28 15:17:08,654 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-28 15:17:08,654 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-28 15:17:08,654 INFO L290 TraceCheckUtils]: 52: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,654 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {84161#true} {84161#true} #1222#return; {84161#true} is VALID [2022-04-28 15:17:08,654 INFO L290 TraceCheckUtils]: 54: Hoare triple {84161#true} assume !!(~status~5 >= 0); {84161#true} is VALID [2022-04-28 15:17:08,654 INFO L290 TraceCheckUtils]: 55: Hoare triple {84161#true} assume !(0 == ~__BLAST_NONDET~0); {84161#true} is VALID [2022-04-28 15:17:08,654 INFO L290 TraceCheckUtils]: 56: Hoare triple {84161#true} assume !(1 == ~__BLAST_NONDET~0); {84161#true} is VALID [2022-04-28 15:17:08,654 INFO L290 TraceCheckUtils]: 57: Hoare triple {84161#true} assume !(2 == ~__BLAST_NONDET~0); {84161#true} is VALID [2022-04-28 15:17:08,655 INFO L290 TraceCheckUtils]: 58: Hoare triple {84161#true} assume 3 == ~__BLAST_NONDET~0; {84161#true} is VALID [2022-04-28 15:17:08,655 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-28 15:17:08,655 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-28 15:17:08,655 INFO L290 TraceCheckUtils]: 61: Hoare triple {84161#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {84161#true} is VALID [2022-04-28 15:17:08,655 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-28 15:17:08,656 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-28 15:17:08,656 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-28 15:17:08,656 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {84161#true} is VALID [2022-04-28 15:17:08,656 INFO L290 TraceCheckUtils]: 66: Hoare triple {84161#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {84161#true} is VALID [2022-04-28 15:17:08,656 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-28 15:17:08,656 INFO L290 TraceCheckUtils]: 68: Hoare triple {84161#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {84161#true} is VALID [2022-04-28 15:17:08,656 INFO L290 TraceCheckUtils]: 69: Hoare triple {84161#true} assume #res.base == dest.base && #res.offset == dest.offset; {84161#true} is VALID [2022-04-28 15:17:08,656 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {84161#true} {84161#true} #1186#return; {84161#true} is VALID [2022-04-28 15:17:08,656 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-28 15:17:08,656 INFO L290 TraceCheckUtils]: 72: Hoare triple {84161#true} assume !(~s~0 != ~NP~0); {84161#true} is VALID [2022-04-28 15:17:08,656 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-28 15:17:08,656 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-28 15:17:08,657 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-28 15:17:08,657 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-28 15:17:08,657 INFO L290 TraceCheckUtils]: 77: Hoare triple {84161#true} assume 0 != ~compRegistered~0; {84161#true} is VALID [2022-04-28 15:17:08,658 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-28 15:17:08,658 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-28 15:17:08,658 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-28 15:17:08,659 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-28 15:17:08,659 INFO L290 TraceCheckUtils]: 82: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,659 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {84161#true} {84161#true} #1174#return; {84161#true} is VALID [2022-04-28 15:17:08,659 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-28 15:17:08,659 INFO L290 TraceCheckUtils]: 85: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,659 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {84161#true} {84161#true} #1210#return; {84161#true} is VALID [2022-04-28 15:17:08,659 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-28 15:17:08,659 INFO L290 TraceCheckUtils]: 88: Hoare triple {84161#true} assume -1073741802 == ~compRetStatus~0; {84161#true} is VALID [2022-04-28 15:17:08,659 INFO L272 TraceCheckUtils]: 89: Hoare triple {84161#true} call stubMoreProcessingRequired(); {84283#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:08,659 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-28 15:17:08,659 INFO L290 TraceCheckUtils]: 91: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-28 15:17:08,659 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {84161#true} {84161#true} #1212#return; {84161#true} is VALID [2022-04-28 15:17:08,660 INFO L290 TraceCheckUtils]: 93: Hoare triple {84161#true} assume !(0 == ~__BLAST_NONDET~11); {84161#true} is VALID [2022-04-28 15:17:08,660 INFO L290 TraceCheckUtils]: 94: Hoare triple {84161#true} assume !(1 == ~__BLAST_NONDET~11); {84161#true} is VALID [2022-04-28 15:17:08,660 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-28 15:17:08,660 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-28 15:17:08,661 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-28 15:17:08,661 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-28 15:17:08,661 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-28 15:17:08,661 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-28 15:17:08,662 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-28 15:17:08,663 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-28 15:17:08,663 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-28 15:17:08,663 INFO L290 TraceCheckUtils]: 104: Hoare triple {84162#false} assume ~status~3 >= 0; {84162#false} is VALID [2022-04-28 15:17:08,663 INFO L290 TraceCheckUtils]: 105: Hoare triple {84162#false} assume !(~myStatus~0 >= 0); {84162#false} is VALID [2022-04-28 15:17:08,663 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-28 15:17:08,663 INFO L272 TraceCheckUtils]: 107: Hoare triple {84162#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {84162#false} is VALID [2022-04-28 15:17:08,663 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-28 15:17:08,663 INFO L290 TraceCheckUtils]: 109: Hoare triple {84162#false} assume !(~s~0 == ~NP~0); {84162#false} is VALID [2022-04-28 15:17:08,663 INFO L272 TraceCheckUtils]: 110: Hoare triple {84162#false} call errorFn(); {84162#false} is VALID [2022-04-28 15:17:08,664 INFO L290 TraceCheckUtils]: 111: Hoare triple {84162#false} assume !false; {84162#false} is VALID [2022-04-28 15:17:08,664 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-28 15:17:08,664 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:17:08,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1241305395] [2022-04-28 15:17:08,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1241305395] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:17:08,664 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:17:08,664 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:17:08,664 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:17:08,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2081003730] [2022-04-28 15:17:08,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2081003730] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:17:08,665 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:17:08,665 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 15:17:08,665 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [615982632] [2022-04-28 15:17:08,665 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:17:08,665 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-28 15:17:08,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:17:08,665 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-28 15:17:08,740 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-28 15:17:08,740 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 15:17:08,740 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:17:08,741 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 15:17:08,741 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-28 15:17:08,741 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-28 15:17:10,858 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-28 15:17:16,400 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-28 15:17:20,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:20,082 INFO L93 Difference]: Finished difference Result 433 states and 499 transitions. [2022-04-28 15:17:20,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 15:17:20,082 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-28 15:17:20,082 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:17:20,082 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-28 15:17:20,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 249 transitions. [2022-04-28 15:17:20,084 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-28 15:17:20,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 249 transitions. [2022-04-28 15:17:20,085 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 249 transitions. [2022-04-28 15:17:20,322 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-28 15:17:20,328 INFO L225 Difference]: With dead ends: 433 [2022-04-28 15:17:20,328 INFO L226 Difference]: Without dead ends: 364 [2022-04-28 15:17:20,329 INFO L412 NwaCegarLoop]: 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-28 15:17:20,329 INFO L413 NwaCegarLoop]: 149 mSDtfsCounter, 419 mSDsluCounter, 301 mSDsCounter, 0 mSdLazyCounter, 751 mSolverCounterSat, 228 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.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, 6.6s IncrementalHoareTripleChecker+Time [2022-04-28 15:17:20,329 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [424 Valid, 450 Invalid, 980 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [228 Valid, 751 Invalid, 1 Unknown, 0 Unchecked, 6.6s Time] [2022-04-28 15:17:20,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 364 states. [2022-04-28 15:17:21,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 364 to 325. [2022-04-28 15:17:21,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:17:21,094 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-28 15:17:21,094 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-28 15:17:21,094 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-28 15:17:21,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:21,099 INFO L93 Difference]: Finished difference Result 364 states and 415 transitions. [2022-04-28 15:17:21,099 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 415 transitions. [2022-04-28 15:17:21,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:17:21,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:17:21,100 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-28 15:17:21,100 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-28 15:17:21,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:21,105 INFO L93 Difference]: Finished difference Result 364 states and 415 transitions. [2022-04-28 15:17:21,105 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 415 transitions. [2022-04-28 15:17:21,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:17:21,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:17:21,105 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:17:21,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:17:21,105 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-28 15:17:21,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 325 states to 325 states and 367 transitions. [2022-04-28 15:17:21,110 INFO L78 Accepts]: Start accepts. Automaton has 325 states and 367 transitions. Word has length 112 [2022-04-28 15:17:21,110 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:17:21,110 INFO L495 AbstractCegarLoop]: Abstraction has 325 states and 367 transitions. [2022-04-28 15:17:21,111 INFO L496 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-28 15:17:21,111 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 325 states and 367 transitions. [2022-04-28 15:17:22,073 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-28 15:17:22,073 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 367 transitions. [2022-04-28 15:17:22,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-28 15:17:22,073 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:17:22,074 INFO L195 NwaCegarLoop]: 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-28 15:17:22,074 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable34 [2022-04-28 15:17:22,074 INFO L420 AbstractCegarLoop]: === Iteration 36 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:17:22,074 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:17:22,074 INFO L85 PathProgramCache]: Analyzing trace with hash -1216825272, now seen corresponding path program 1 times [2022-04-28 15:17:22,074 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:17:22,074 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1292827403] [2022-04-28 15:17:22,076 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:17:22,076 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:17:22,076 INFO L85 PathProgramCache]: Analyzing trace with hash -1216825272, now seen corresponding path program 2 times [2022-04-28 15:17:22,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:17:22,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [549575564] [2022-04-28 15:17:22,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:17:22,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:17:22,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:17:22,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,268 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-28 15:17:22,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,269 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86544#true} {86544#true} #1270#return; {86544#true} is VALID [2022-04-28 15:17:22,290 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:17:22,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,295 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-28 15:17:22,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,295 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86544#true} {86544#true} #1216#return; {86544#true} is VALID [2022-04-28 15:17:22,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:17:22,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,316 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:22,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,320 INFO L290 TraceCheckUtils]: 0: Hoare triple {86544#true} ~cond := #in~cond; {86544#true} is VALID [2022-04-28 15:17:22,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume !(0 == ~cond); {86544#true} is VALID [2022-04-28 15:17:22,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86544#true} {86544#true} #1254#return; {86544#true} is VALID [2022-04-28 15:17:22,321 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-28 15:17:22,321 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-28 15:17:22,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} ~cond := #in~cond; {86544#true} is VALID [2022-04-28 15:17:22,321 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume !(0 == ~cond); {86544#true} is VALID [2022-04-28 15:17:22,321 INFO L290 TraceCheckUtils]: 4: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,321 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {86544#true} {86544#true} #1254#return; {86544#true} is VALID [2022-04-28 15:17:22,321 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-28 15:17:22,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,321 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {86544#true} {86544#true} #1218#return; {86544#true} is VALID [2022-04-28 15:17:22,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:17:22,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,351 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:22,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,359 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-28 15:17:22,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~5; {86544#true} is VALID [2022-04-28 15:17:22,360 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-28 15:17:22,360 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,360 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {86544#true} {86544#true} #1176#return; {86544#true} is VALID [2022-04-28 15:17:22,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:17:22,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,366 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-28 15:17:22,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {86544#true} is VALID [2022-04-28 15:17:22,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {86544#true} is VALID [2022-04-28 15:17:22,366 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {86544#true} is VALID [2022-04-28 15:17:22,366 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {86544#true} {86544#true} #1178#return; {86544#true} is VALID [2022-04-28 15:17:22,367 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:17:22,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,374 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-28 15:17:22,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~2; {86544#true} is VALID [2022-04-28 15:17:22,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {86544#true} is VALID [2022-04-28 15:17:22,374 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,374 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {86544#true} {86544#true} #1180#return; {86544#true} is VALID [2022-04-28 15:17:22,375 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-28 15:17:22,376 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-28 15:17:22,376 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-28 15:17:22,376 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~5; {86544#true} is VALID [2022-04-28 15:17:22,376 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-28 15:17:22,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,376 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {86544#true} {86544#true} #1176#return; {86544#true} is VALID [2022-04-28 15:17:22,376 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-28 15:17:22,376 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-28 15:17:22,377 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-28 15:17:22,377 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-28 15:17:22,377 INFO L290 TraceCheckUtils]: 11: Hoare triple {86544#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {86544#true} is VALID [2022-04-28 15:17:22,377 INFO L290 TraceCheckUtils]: 12: Hoare triple {86544#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {86544#true} is VALID [2022-04-28 15:17:22,377 INFO L290 TraceCheckUtils]: 13: Hoare triple {86544#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {86544#true} is VALID [2022-04-28 15:17:22,377 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {86544#true} {86544#true} #1178#return; {86544#true} is VALID [2022-04-28 15:17:22,377 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-28 15:17:22,377 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-28 15:17:22,377 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-28 15:17:22,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~2; {86544#true} is VALID [2022-04-28 15:17:22,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {86544#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {86544#true} is VALID [2022-04-28 15:17:22,378 INFO L290 TraceCheckUtils]: 20: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,378 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {86544#true} {86544#true} #1180#return; {86544#true} is VALID [2022-04-28 15:17:22,378 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-28 15:17:22,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,378 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {86544#true} {86544#true} #1220#return; {86544#true} is VALID [2022-04-28 15:17:22,391 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:17:22,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,396 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-28 15:17:22,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,396 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86544#true} {86544#true} #1222#return; {86544#true} is VALID [2022-04-28 15:17:22,396 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:17:22,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,406 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-28 15:17:22,406 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {86544#true} is VALID [2022-04-28 15:17:22,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {86544#true} is VALID [2022-04-28 15:17:22,406 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-28 15:17:22,407 INFO L290 TraceCheckUtils]: 4: Hoare triple {86544#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {86544#true} is VALID [2022-04-28 15:17:22,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {86544#true} assume #res.base == dest.base && #res.offset == dest.offset; {86544#true} is VALID [2022-04-28 15:17:22,407 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {86544#true} {86544#true} #1186#return; {86544#true} is VALID [2022-04-28 15:17:22,415 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:17:22,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:17:22,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,469 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:22,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,477 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-28 15:17:22,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,478 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1174#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,478 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-28 15:17:22,479 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-28 15:17:22,479 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-28 15:17:22,479 INFO L290 TraceCheckUtils]: 3: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,480 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1174#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,480 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-28 15:17:22,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,481 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1210#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:17:22,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:22,493 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-28 15:17:22,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,493 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86544#true} {86622#(= ~setEventCalled~0 1)} #1212#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,493 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-28 15:17:22,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume 0 != ~compRegistered~0; {86544#true} is VALID [2022-04-28 15:17:22,494 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-28 15:17:22,494 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-28 15:17:22,495 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-28 15:17:22,495 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-28 15:17:22,495 INFO L290 TraceCheckUtils]: 6: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,496 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1174#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,496 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-28 15:17:22,496 INFO L290 TraceCheckUtils]: 9: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,497 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1210#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,497 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-28 15:17:22,498 INFO L290 TraceCheckUtils]: 12: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -1073741802 == ~compRetStatus~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,498 INFO L272 TraceCheckUtils]: 13: Hoare triple {86622#(= ~setEventCalled~0 1)} call stubMoreProcessingRequired(); {86663#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:22,498 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-28 15:17:22,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,498 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {86544#true} {86622#(= ~setEventCalled~0 1)} #1212#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(0 == ~__BLAST_NONDET~11); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,499 INFO L290 TraceCheckUtils]: 18: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(1 == ~__BLAST_NONDET~11); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,499 INFO L290 TraceCheckUtils]: 19: Hoare triple {86622#(= ~setEventCalled~0 1)} ~returnVal2~0 := 259; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(~s~0 == ~NP~0); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,500 INFO L290 TraceCheckUtils]: 21: Hoare triple {86622#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR1~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,500 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-28 15:17:22,500 INFO L290 TraceCheckUtils]: 23: Hoare triple {86622#(= ~setEventCalled~0 1)} #res := ~returnVal2~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,500 INFO L290 TraceCheckUtils]: 24: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,501 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1192#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,502 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-28 15:17:22,502 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-28 15:17:22,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86544#true} {86544#true} #1270#return; {86544#true} is VALID [2022-04-28 15:17:22,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {86544#true} call #t~ret213 := main(); {86544#true} is VALID [2022-04-28 15:17:22,503 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-28 15:17:22,504 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-28 15:17:22,504 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-28 15:17:22,504 INFO L290 TraceCheckUtils]: 8: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,504 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {86544#true} {86544#true} #1216#return; {86544#true} is VALID [2022-04-28 15:17:22,505 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-28 15:17:22,505 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-28 15:17:22,505 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-28 15:17:22,505 INFO L290 TraceCheckUtils]: 13: Hoare triple {86544#true} ~cond := #in~cond; {86544#true} is VALID [2022-04-28 15:17:22,505 INFO L290 TraceCheckUtils]: 14: Hoare triple {86544#true} assume !(0 == ~cond); {86544#true} is VALID [2022-04-28 15:17:22,505 INFO L290 TraceCheckUtils]: 15: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,505 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {86544#true} {86544#true} #1254#return; {86544#true} is VALID [2022-04-28 15:17:22,505 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-28 15:17:22,505 INFO L290 TraceCheckUtils]: 18: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,505 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {86544#true} {86544#true} #1218#return; {86544#true} is VALID [2022-04-28 15:17:22,505 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-28 15:17:22,505 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-28 15:17:22,505 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-28 15:17:22,506 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-28 15:17:22,506 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-28 15:17:22,507 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-28 15:17:22,507 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-28 15:17:22,507 INFO L290 TraceCheckUtils]: 27: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~5; {86544#true} is VALID [2022-04-28 15:17:22,508 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-28 15:17:22,508 INFO L290 TraceCheckUtils]: 29: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,508 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {86544#true} {86544#true} #1176#return; {86544#true} is VALID [2022-04-28 15:17:22,508 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-28 15:17:22,508 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-28 15:17:22,508 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-28 15:17:22,509 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-28 15:17:22,509 INFO L290 TraceCheckUtils]: 35: Hoare triple {86544#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {86544#true} is VALID [2022-04-28 15:17:22,509 INFO L290 TraceCheckUtils]: 36: Hoare triple {86544#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {86544#true} is VALID [2022-04-28 15:17:22,509 INFO L290 TraceCheckUtils]: 37: Hoare triple {86544#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {86544#true} is VALID [2022-04-28 15:17:22,509 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {86544#true} {86544#true} #1178#return; {86544#true} is VALID [2022-04-28 15:17:22,509 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-28 15:17:22,509 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-28 15:17:22,509 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-28 15:17:22,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~2; {86544#true} is VALID [2022-04-28 15:17:22,509 INFO L290 TraceCheckUtils]: 43: Hoare triple {86544#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {86544#true} is VALID [2022-04-28 15:17:22,509 INFO L290 TraceCheckUtils]: 44: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,509 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {86544#true} {86544#true} #1180#return; {86544#true} is VALID [2022-04-28 15:17:22,509 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-28 15:17:22,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,509 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {86544#true} {86544#true} #1220#return; {86544#true} is VALID [2022-04-28 15:17:22,510 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-28 15:17:22,510 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-28 15:17:22,510 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-28 15:17:22,510 INFO L290 TraceCheckUtils]: 52: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,510 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {86544#true} {86544#true} #1222#return; {86544#true} is VALID [2022-04-28 15:17:22,510 INFO L290 TraceCheckUtils]: 54: Hoare triple {86544#true} assume !!(~status~5 >= 0); {86544#true} is VALID [2022-04-28 15:17:22,510 INFO L290 TraceCheckUtils]: 55: Hoare triple {86544#true} assume !(0 == ~__BLAST_NONDET~0); {86544#true} is VALID [2022-04-28 15:17:22,511 INFO L290 TraceCheckUtils]: 56: Hoare triple {86544#true} assume !(1 == ~__BLAST_NONDET~0); {86544#true} is VALID [2022-04-28 15:17:22,511 INFO L290 TraceCheckUtils]: 57: Hoare triple {86544#true} assume !(2 == ~__BLAST_NONDET~0); {86544#true} is VALID [2022-04-28 15:17:22,511 INFO L290 TraceCheckUtils]: 58: Hoare triple {86544#true} assume 3 == ~__BLAST_NONDET~0; {86544#true} is VALID [2022-04-28 15:17:22,511 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-28 15:17:22,511 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-28 15:17:22,511 INFO L290 TraceCheckUtils]: 61: Hoare triple {86544#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {86544#true} is VALID [2022-04-28 15:17:22,511 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-28 15:17:22,512 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-28 15:17:22,512 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-28 15:17:22,512 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {86544#true} is VALID [2022-04-28 15:17:22,512 INFO L290 TraceCheckUtils]: 66: Hoare triple {86544#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {86544#true} is VALID [2022-04-28 15:17:22,512 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-28 15:17:22,512 INFO L290 TraceCheckUtils]: 68: Hoare triple {86544#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {86544#true} is VALID [2022-04-28 15:17:22,512 INFO L290 TraceCheckUtils]: 69: Hoare triple {86544#true} assume #res.base == dest.base && #res.offset == dest.offset; {86544#true} is VALID [2022-04-28 15:17:22,512 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {86544#true} {86544#true} #1186#return; {86544#true} is VALID [2022-04-28 15:17:22,512 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-28 15:17:22,512 INFO L290 TraceCheckUtils]: 72: Hoare triple {86544#true} assume !(~s~0 != ~NP~0); {86544#true} is VALID [2022-04-28 15:17:22,512 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-28 15:17:22,512 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-28 15:17:22,513 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-28 15:17:22,513 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-28 15:17:22,513 INFO L290 TraceCheckUtils]: 77: Hoare triple {86544#true} assume 0 != ~compRegistered~0; {86544#true} is VALID [2022-04-28 15:17:22,514 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-28 15:17:22,514 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-28 15:17:22,515 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-28 15:17:22,515 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-28 15:17:22,515 INFO L290 TraceCheckUtils]: 82: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,516 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1174#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,516 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-28 15:17:22,516 INFO L290 TraceCheckUtils]: 85: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,517 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1210#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,517 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-28 15:17:22,518 INFO L290 TraceCheckUtils]: 88: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -1073741802 == ~compRetStatus~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,518 INFO L272 TraceCheckUtils]: 89: Hoare triple {86622#(= ~setEventCalled~0 1)} call stubMoreProcessingRequired(); {86663#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:22,518 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-28 15:17:22,518 INFO L290 TraceCheckUtils]: 91: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-28 15:17:22,518 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {86544#true} {86622#(= ~setEventCalled~0 1)} #1212#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,519 INFO L290 TraceCheckUtils]: 93: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(0 == ~__BLAST_NONDET~11); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,519 INFO L290 TraceCheckUtils]: 94: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(1 == ~__BLAST_NONDET~11); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,519 INFO L290 TraceCheckUtils]: 95: Hoare triple {86622#(= ~setEventCalled~0 1)} ~returnVal2~0 := 259; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,519 INFO L290 TraceCheckUtils]: 96: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(~s~0 == ~NP~0); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,520 INFO L290 TraceCheckUtils]: 97: Hoare triple {86622#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR1~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,520 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-28 15:17:22,520 INFO L290 TraceCheckUtils]: 99: Hoare triple {86622#(= ~setEventCalled~0 1)} #res := ~returnVal2~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,520 INFO L290 TraceCheckUtils]: 100: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,521 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1192#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,521 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-28 15:17:22,521 INFO L290 TraceCheckUtils]: 103: Hoare triple {86622#(= ~setEventCalled~0 1)} assume 259 == ~status~3; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,522 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-28 15:17:22,522 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-28 15:17:22,523 INFO L290 TraceCheckUtils]: 106: Hoare triple {86622#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR3~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-28 15:17:22,523 INFO L290 TraceCheckUtils]: 107: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(1 == ~setEventCalled~0); {86545#false} is VALID [2022-04-28 15:17:22,523 INFO L290 TraceCheckUtils]: 108: Hoare triple {86545#false} assume !(1 == ~customIrp~0); {86545#false} is VALID [2022-04-28 15:17:22,523 INFO L290 TraceCheckUtils]: 109: Hoare triple {86545#false} assume ~s~0 == ~MPR3~0; {86545#false} is VALID [2022-04-28 15:17:22,523 INFO L272 TraceCheckUtils]: 110: Hoare triple {86545#false} call errorFn(); {86545#false} is VALID [2022-04-28 15:17:22,523 INFO L290 TraceCheckUtils]: 111: Hoare triple {86545#false} assume !false; {86545#false} is VALID [2022-04-28 15:17:22,523 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-28 15:17:22,523 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:17:22,524 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [549575564] [2022-04-28 15:17:22,524 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [549575564] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:17:22,524 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:17:22,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:17:22,524 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:17:22,524 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1292827403] [2022-04-28 15:17:22,524 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1292827403] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:17:22,524 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:17:22,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 15:17:22,524 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [973353650] [2022-04-28 15:17:22,524 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:17:22,525 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-28 15:17:22,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:17:22,525 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-28 15:17:22,602 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-28 15:17:22,603 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 15:17:22,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:17:22,603 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 15:17:22,603 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-28 15:17:22,603 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-28 15:17:24,707 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-28 15:17:28,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:28,802 INFO L93 Difference]: Finished difference Result 446 states and 505 transitions. [2022-04-28 15:17:28,802 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 15:17:28,802 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-28 15:17:28,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:17:28,803 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-28 15:17:28,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 250 transitions. [2022-04-28 15:17:28,804 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-28 15:17:28,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 250 transitions. [2022-04-28 15:17:28,805 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 250 transitions. [2022-04-28 15:17:29,082 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-28 15:17:29,089 INFO L225 Difference]: With dead ends: 446 [2022-04-28 15:17:29,089 INFO L226 Difference]: Without dead ends: 380 [2022-04-28 15:17:29,090 INFO L412 NwaCegarLoop]: 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-28 15:17:29,091 INFO L413 NwaCegarLoop]: 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-28 15:17:29,091 INFO L414 NwaCegarLoop]: 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-28 15:17:29,091 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 380 states. [2022-04-28 15:17:29,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 380 to 342. [2022-04-28 15:17:29,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:17:29,877 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-28 15:17:29,878 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-28 15:17:29,878 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-28 15:17:29,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:29,883 INFO L93 Difference]: Finished difference Result 380 states and 424 transitions. [2022-04-28 15:17:29,883 INFO L276 IsEmpty]: Start isEmpty. Operand 380 states and 424 transitions. [2022-04-28 15:17:29,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:17:29,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:17:29,883 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-28 15:17:29,883 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-28 15:17:29,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:29,888 INFO L93 Difference]: Finished difference Result 380 states and 424 transitions. [2022-04-28 15:17:29,888 INFO L276 IsEmpty]: Start isEmpty. Operand 380 states and 424 transitions. [2022-04-28 15:17:29,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:17:29,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:17:29,889 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:17:29,889 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:17:29,889 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-28 15:17:29,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 342 states to 342 states and 381 transitions. [2022-04-28 15:17:29,894 INFO L78 Accepts]: Start accepts. Automaton has 342 states and 381 transitions. Word has length 112 [2022-04-28 15:17:29,894 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:17:29,894 INFO L495 AbstractCegarLoop]: Abstraction has 342 states and 381 transitions. [2022-04-28 15:17:29,895 INFO L496 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-28 15:17:29,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 342 states and 381 transitions. [2022-04-28 15:17:30,845 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-28 15:17:30,845 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 381 transitions. [2022-04-28 15:17:30,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 15:17:30,846 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:17:30,846 INFO L195 NwaCegarLoop]: 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-28 15:17:30,846 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable35 [2022-04-28 15:17:30,846 INFO L420 AbstractCegarLoop]: === Iteration 37 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:17:30,846 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:17:30,846 INFO L85 PathProgramCache]: Analyzing trace with hash 542965401, now seen corresponding path program 1 times [2022-04-28 15:17:30,846 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:17:30,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1926449608] [2022-04-28 15:17:30,848 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:17:30,848 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:17:30,848 INFO L85 PathProgramCache]: Analyzing trace with hash 542965401, now seen corresponding path program 2 times [2022-04-28 15:17:30,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:17:30,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [196192674] [2022-04-28 15:17:30,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:17:30,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:17:30,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,051 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:17:31,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,057 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-28 15:17:31,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,057 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89018#true} #1270#return; {89018#true} is VALID [2022-04-28 15:17:31,090 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:17:31,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,095 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-28 15:17:31,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,095 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89018#true} #1216#return; {89018#true} is VALID [2022-04-28 15:17:31,100 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:17:31,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,111 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:31,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,118 INFO L290 TraceCheckUtils]: 0: Hoare triple {89018#true} ~cond := #in~cond; {89018#true} is VALID [2022-04-28 15:17:31,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume !(0 == ~cond); {89018#true} is VALID [2022-04-28 15:17:31,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,118 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89018#true} {89018#true} #1254#return; {89018#true} is VALID [2022-04-28 15:17:31,119 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-28 15:17:31,119 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-28 15:17:31,119 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} ~cond := #in~cond; {89018#true} is VALID [2022-04-28 15:17:31,119 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume !(0 == ~cond); {89018#true} is VALID [2022-04-28 15:17:31,119 INFO L290 TraceCheckUtils]: 4: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,119 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {89018#true} {89018#true} #1254#return; {89018#true} is VALID [2022-04-28 15:17:31,119 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-28 15:17:31,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,119 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {89018#true} {89018#true} #1218#return; {89018#true} is VALID [2022-04-28 15:17:31,127 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:17:31,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,160 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:31,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,168 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-28 15:17:31,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~5; {89018#true} is VALID [2022-04-28 15:17:31,169 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-28 15:17:31,169 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,169 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89018#true} {89018#true} #1176#return; {89018#true} is VALID [2022-04-28 15:17:31,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:17:31,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,240 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-28 15:17:31,242 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:17:31,242 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-28 15:17:31,243 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-28 15:17:31,243 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-28 15:17:31,244 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:17:31,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,249 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-28 15:17:31,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~2; {89018#true} is VALID [2022-04-28 15:17:31,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89018#true} is VALID [2022-04-28 15:17:31,249 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,249 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89018#true} {89019#false} #1180#return; {89019#false} is VALID [2022-04-28 15:17:31,249 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-28 15:17:31,250 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-28 15:17:31,250 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-28 15:17:31,250 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~5; {89018#true} is VALID [2022-04-28 15:17:31,250 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-28 15:17:31,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,250 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {89018#true} {89018#true} #1176#return; {89018#true} is VALID [2022-04-28 15:17:31,251 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-28 15:17:31,251 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-28 15:17:31,258 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-28 15:17:31,258 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-28 15:17:31,259 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:17:31,260 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-28 15:17:31,261 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-28 15:17:31,261 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-28 15:17:31,261 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-28 15:17:31,261 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-28 15:17:31,262 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-28 15:17:31,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~2; {89018#true} is VALID [2022-04-28 15:17:31,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {89018#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89018#true} is VALID [2022-04-28 15:17:31,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,262 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {89018#true} {89019#false} #1180#return; {89019#false} is VALID [2022-04-28 15:17:31,262 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-28 15:17:31,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {89019#false} assume true; {89019#false} is VALID [2022-04-28 15:17:31,262 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {89019#false} {89018#true} #1220#return; {89019#false} is VALID [2022-04-28 15:17:31,277 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:17:31,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,282 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-28 15:17:31,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,282 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89019#false} #1222#return; {89019#false} is VALID [2022-04-28 15:17:31,282 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 15:17:31,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,293 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-28 15:17:31,293 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {89018#true} is VALID [2022-04-28 15:17:31,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {89018#true} is VALID [2022-04-28 15:17:31,293 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-28 15:17:31,293 INFO L290 TraceCheckUtils]: 4: Hoare triple {89018#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {89018#true} is VALID [2022-04-28 15:17:31,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} assume #res.base == dest.base && #res.offset == dest.offset; {89018#true} is VALID [2022-04-28 15:17:31,293 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {89018#true} {89019#false} #1186#return; {89019#false} is VALID [2022-04-28 15:17:31,304 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-28 15:17:31,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:17:31,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:31,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,332 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-28 15:17:31,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,332 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-28 15:17:31,332 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-28 15:17:31,333 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-28 15:17:31,333 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-28 15:17:31,333 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,333 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-28 15:17:31,333 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-28 15:17:31,333 INFO L290 TraceCheckUtils]: 6: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,333 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {89018#true} {89018#true} #1210#return; {89018#true} is VALID [2022-04-28 15:17:31,342 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:17:31,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,346 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-28 15:17:31,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,346 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89018#true} #1212#return; {89018#true} is VALID [2022-04-28 15:17:31,347 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-28 15:17:31,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume 0 != ~compRegistered~0; {89018#true} is VALID [2022-04-28 15:17:31,347 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-28 15:17:31,348 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-28 15:17:31,348 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-28 15:17:31,348 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-28 15:17:31,348 INFO L290 TraceCheckUtils]: 6: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,348 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-28 15:17:31,348 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-28 15:17:31,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,349 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {89018#true} {89018#true} #1210#return; {89018#true} is VALID [2022-04-28 15:17:31,349 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-28 15:17:31,349 INFO L290 TraceCheckUtils]: 12: Hoare triple {89018#true} assume -1073741802 == ~compRetStatus~0; {89018#true} is VALID [2022-04-28 15:17:31,349 INFO L272 TraceCheckUtils]: 13: Hoare triple {89018#true} call stubMoreProcessingRequired(); {89147#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:31,349 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-28 15:17:31,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,349 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {89018#true} {89018#true} #1212#return; {89018#true} is VALID [2022-04-28 15:17:31,349 INFO L290 TraceCheckUtils]: 17: Hoare triple {89018#true} assume !(0 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-28 15:17:31,349 INFO L290 TraceCheckUtils]: 18: Hoare triple {89018#true} assume !(1 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-28 15:17:31,349 INFO L290 TraceCheckUtils]: 19: Hoare triple {89018#true} ~returnVal2~0 := 259; {89018#true} is VALID [2022-04-28 15:17:31,350 INFO L290 TraceCheckUtils]: 20: Hoare triple {89018#true} assume !(~s~0 == ~NP~0); {89018#true} is VALID [2022-04-28 15:17:31,350 INFO L290 TraceCheckUtils]: 21: Hoare triple {89018#true} assume ~s~0 == ~MPR1~0; {89018#true} is VALID [2022-04-28 15:17:31,350 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-28 15:17:31,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {89018#true} #res := ~returnVal2~0; {89018#true} is VALID [2022-04-28 15:17:31,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,350 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {89018#true} {89019#false} #1192#return; {89019#false} is VALID [2022-04-28 15:17:31,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 104 [2022-04-28 15:17:31,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:31,377 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-28 15:17:31,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume !(~s~0 == ~MPR3~0); {89018#true} is VALID [2022-04-28 15:17:31,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume !(1 == ~customIrp~0); {89018#true} is VALID [2022-04-28 15:17:31,377 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume !(~s~0 == ~MPR3~0); {89018#true} is VALID [2022-04-28 15:17:31,377 INFO L290 TraceCheckUtils]: 4: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~13; {89018#true} is VALID [2022-04-28 15:17:31,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} #res := 0; {89018#true} is VALID [2022-04-28 15:17:31,377 INFO L290 TraceCheckUtils]: 6: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,377 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {89018#true} {89019#false} #1194#return; {89019#false} is VALID [2022-04-28 15:17:31,379 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-28 15:17:31,379 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-28 15:17:31,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89018#true} {89018#true} #1270#return; {89018#true} is VALID [2022-04-28 15:17:31,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {89018#true} call #t~ret213 := main(); {89018#true} is VALID [2022-04-28 15:17:31,379 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-28 15:17:31,380 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-28 15:17:31,380 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-28 15:17:31,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,380 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {89018#true} {89018#true} #1216#return; {89018#true} is VALID [2022-04-28 15:17:31,381 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-28 15:17:31,381 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-28 15:17:31,381 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-28 15:17:31,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {89018#true} ~cond := #in~cond; {89018#true} is VALID [2022-04-28 15:17:31,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {89018#true} assume !(0 == ~cond); {89018#true} is VALID [2022-04-28 15:17:31,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,381 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {89018#true} {89018#true} #1254#return; {89018#true} is VALID [2022-04-28 15:17:31,381 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-28 15:17:31,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,381 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {89018#true} {89018#true} #1218#return; {89018#true} is VALID [2022-04-28 15:17:31,382 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-28 15:17:31,382 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-28 15:17:31,382 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-28 15:17:31,382 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-28 15:17:31,383 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-28 15:17:31,384 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-28 15:17:31,384 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-28 15:17:31,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~5; {89018#true} is VALID [2022-04-28 15:17:31,384 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-28 15:17:31,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,384 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {89018#true} {89018#true} #1176#return; {89018#true} is VALID [2022-04-28 15:17:31,384 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-28 15:17:31,384 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-28 15:17:31,385 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-28 15:17:31,385 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-28 15:17:31,386 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:17:31,387 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-28 15:17:31,387 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-28 15:17:31,388 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-28 15:17:31,388 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-28 15:17:31,388 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-28 15:17:31,388 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-28 15:17:31,388 INFO L290 TraceCheckUtils]: 42: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~2; {89018#true} is VALID [2022-04-28 15:17:31,388 INFO L290 TraceCheckUtils]: 43: Hoare triple {89018#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89018#true} is VALID [2022-04-28 15:17:31,388 INFO L290 TraceCheckUtils]: 44: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,388 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {89018#true} {89019#false} #1180#return; {89019#false} is VALID [2022-04-28 15:17:31,388 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-28 15:17:31,389 INFO L290 TraceCheckUtils]: 47: Hoare triple {89019#false} assume true; {89019#false} is VALID [2022-04-28 15:17:31,389 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {89019#false} {89018#true} #1220#return; {89019#false} is VALID [2022-04-28 15:17:31,389 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-28 15:17:31,389 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-28 15:17:31,389 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-28 15:17:31,389 INFO L290 TraceCheckUtils]: 52: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,389 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {89018#true} {89019#false} #1222#return; {89019#false} is VALID [2022-04-28 15:17:31,389 INFO L290 TraceCheckUtils]: 54: Hoare triple {89019#false} assume !!(~status~5 >= 0); {89019#false} is VALID [2022-04-28 15:17:31,389 INFO L290 TraceCheckUtils]: 55: Hoare triple {89019#false} assume !(0 == ~__BLAST_NONDET~0); {89019#false} is VALID [2022-04-28 15:17:31,389 INFO L290 TraceCheckUtils]: 56: Hoare triple {89019#false} assume !(1 == ~__BLAST_NONDET~0); {89019#false} is VALID [2022-04-28 15:17:31,389 INFO L290 TraceCheckUtils]: 57: Hoare triple {89019#false} assume !(2 == ~__BLAST_NONDET~0); {89019#false} is VALID [2022-04-28 15:17:31,389 INFO L290 TraceCheckUtils]: 58: Hoare triple {89019#false} assume 3 == ~__BLAST_NONDET~0; {89019#false} is VALID [2022-04-28 15:17:31,389 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-28 15:17:31,389 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-28 15:17:31,389 INFO L290 TraceCheckUtils]: 61: Hoare triple {89019#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {89019#false} is VALID [2022-04-28 15:17:31,390 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-28 15:17:31,390 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-28 15:17:31,390 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-28 15:17:31,390 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {89018#true} is VALID [2022-04-28 15:17:31,390 INFO L290 TraceCheckUtils]: 66: Hoare triple {89018#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {89018#true} is VALID [2022-04-28 15:17:31,390 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-28 15:17:31,390 INFO L290 TraceCheckUtils]: 68: Hoare triple {89018#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {89018#true} is VALID [2022-04-28 15:17:31,390 INFO L290 TraceCheckUtils]: 69: Hoare triple {89018#true} assume #res.base == dest.base && #res.offset == dest.offset; {89018#true} is VALID [2022-04-28 15:17:31,390 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {89018#true} {89019#false} #1186#return; {89019#false} is VALID [2022-04-28 15:17:31,390 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-28 15:17:31,390 INFO L290 TraceCheckUtils]: 72: Hoare triple {89019#false} assume !(~s~0 != ~NP~0); {89019#false} is VALID [2022-04-28 15:17:31,390 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-28 15:17:31,390 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-28 15:17:31,390 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-28 15:17:31,390 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-28 15:17:31,391 INFO L290 TraceCheckUtils]: 77: Hoare triple {89018#true} assume 0 != ~compRegistered~0; {89018#true} is VALID [2022-04-28 15:17:31,391 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-28 15:17:31,391 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-28 15:17:31,392 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-28 15:17:31,392 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-28 15:17:31,392 INFO L290 TraceCheckUtils]: 82: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,392 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-28 15:17:31,392 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-28 15:17:31,392 INFO L290 TraceCheckUtils]: 85: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,392 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {89018#true} {89018#true} #1210#return; {89018#true} is VALID [2022-04-28 15:17:31,392 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-28 15:17:31,392 INFO L290 TraceCheckUtils]: 88: Hoare triple {89018#true} assume -1073741802 == ~compRetStatus~0; {89018#true} is VALID [2022-04-28 15:17:31,393 INFO L272 TraceCheckUtils]: 89: Hoare triple {89018#true} call stubMoreProcessingRequired(); {89147#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:31,393 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-28 15:17:31,393 INFO L290 TraceCheckUtils]: 91: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,393 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {89018#true} {89018#true} #1212#return; {89018#true} is VALID [2022-04-28 15:17:31,393 INFO L290 TraceCheckUtils]: 93: Hoare triple {89018#true} assume !(0 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-28 15:17:31,393 INFO L290 TraceCheckUtils]: 94: Hoare triple {89018#true} assume !(1 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-28 15:17:31,393 INFO L290 TraceCheckUtils]: 95: Hoare triple {89018#true} ~returnVal2~0 := 259; {89018#true} is VALID [2022-04-28 15:17:31,393 INFO L290 TraceCheckUtils]: 96: Hoare triple {89018#true} assume !(~s~0 == ~NP~0); {89018#true} is VALID [2022-04-28 15:17:31,393 INFO L290 TraceCheckUtils]: 97: Hoare triple {89018#true} assume ~s~0 == ~MPR1~0; {89018#true} is VALID [2022-04-28 15:17:31,393 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-28 15:17:31,393 INFO L290 TraceCheckUtils]: 99: Hoare triple {89018#true} #res := ~returnVal2~0; {89018#true} is VALID [2022-04-28 15:17:31,393 INFO L290 TraceCheckUtils]: 100: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,394 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {89018#true} {89019#false} #1192#return; {89019#false} is VALID [2022-04-28 15:17:31,394 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-28 15:17:31,394 INFO L290 TraceCheckUtils]: 103: Hoare triple {89019#false} assume 259 == ~status~3; {89019#false} is VALID [2022-04-28 15:17:31,394 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-28 15:17:31,394 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-28 15:17:31,394 INFO L290 TraceCheckUtils]: 106: Hoare triple {89018#true} assume !(~s~0 == ~MPR3~0); {89018#true} is VALID [2022-04-28 15:17:31,394 INFO L290 TraceCheckUtils]: 107: Hoare triple {89018#true} assume !(1 == ~customIrp~0); {89018#true} is VALID [2022-04-28 15:17:31,394 INFO L290 TraceCheckUtils]: 108: Hoare triple {89018#true} assume !(~s~0 == ~MPR3~0); {89018#true} is VALID [2022-04-28 15:17:31,394 INFO L290 TraceCheckUtils]: 109: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~13; {89018#true} is VALID [2022-04-28 15:17:31,394 INFO L290 TraceCheckUtils]: 110: Hoare triple {89018#true} #res := 0; {89018#true} is VALID [2022-04-28 15:17:31,394 INFO L290 TraceCheckUtils]: 111: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:31,394 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {89018#true} {89019#false} #1194#return; {89019#false} is VALID [2022-04-28 15:17:31,394 INFO L290 TraceCheckUtils]: 113: Hoare triple {89019#false} assume -9223372036854775808 <= #t~ret110 && #t~ret110 <= 9223372036854775807;havoc #t~ret110; {89019#false} is VALID [2022-04-28 15:17:31,394 INFO L290 TraceCheckUtils]: 114: Hoare triple {89019#false} assume ~status~3 >= 0; {89019#false} is VALID [2022-04-28 15:17:31,394 INFO L290 TraceCheckUtils]: 115: Hoare triple {89019#false} assume !(~myStatus~0 >= 0); {89019#false} is VALID [2022-04-28 15:17:31,395 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-28 15:17:31,395 INFO L272 TraceCheckUtils]: 117: Hoare triple {89019#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {89019#false} is VALID [2022-04-28 15:17:31,395 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-28 15:17:31,395 INFO L290 TraceCheckUtils]: 119: Hoare triple {89019#false} assume !(~s~0 == ~NP~0); {89019#false} is VALID [2022-04-28 15:17:31,395 INFO L272 TraceCheckUtils]: 120: Hoare triple {89019#false} call errorFn(); {89019#false} is VALID [2022-04-28 15:17:31,395 INFO L290 TraceCheckUtils]: 121: Hoare triple {89019#false} assume !false; {89019#false} is VALID [2022-04-28 15:17:31,395 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-28 15:17:31,395 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:17:31,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [196192674] [2022-04-28 15:17:31,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [196192674] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 15:17:31,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1570882959] [2022-04-28 15:17:31,396 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 15:17:31,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 15:17:31,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 15:17:31,397 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-28 15:17:31,397 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-28 15:17:32,412 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 15:17:32,412 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 15:17:32,418 INFO L263 TraceCheckSpWp]: Trace formula consists of 1824 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 15:17:32,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:32,461 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 15:17:32,732 INFO L272 TraceCheckUtils]: 0: Hoare triple {89018#true} call ULTIMATE.init(); {89018#true} is VALID [2022-04-28 15:17:32,732 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-28 15:17:32,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,732 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89018#true} {89018#true} #1270#return; {89018#true} is VALID [2022-04-28 15:17:32,732 INFO L272 TraceCheckUtils]: 4: Hoare triple {89018#true} call #t~ret213 := main(); {89018#true} is VALID [2022-04-28 15:17:32,732 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-28 15:17:32,732 INFO L272 TraceCheckUtils]: 6: Hoare triple {89018#true} call _BLAST_init(); {89018#true} is VALID [2022-04-28 15:17:32,732 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-28 15:17:32,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,732 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {89018#true} {89018#true} #1216#return; {89018#true} is VALID [2022-04-28 15:17:32,732 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-28 15:17:32,733 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-28 15:17:32,733 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-28 15:17:32,733 INFO L290 TraceCheckUtils]: 13: Hoare triple {89018#true} ~cond := #in~cond; {89018#true} is VALID [2022-04-28 15:17:32,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {89018#true} assume !(0 == ~cond); {89018#true} is VALID [2022-04-28 15:17:32,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,733 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {89018#true} {89018#true} #1254#return; {89018#true} is VALID [2022-04-28 15:17:32,733 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-28 15:17:32,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,733 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {89018#true} {89018#true} #1218#return; {89018#true} is VALID [2022-04-28 15:17:32,733 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-28 15:17:32,733 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-28 15:17:32,733 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-28 15:17:32,733 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-28 15:17:32,733 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-28 15:17:32,733 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-28 15:17:32,734 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-28 15:17:32,734 INFO L290 TraceCheckUtils]: 27: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~5; {89018#true} is VALID [2022-04-28 15:17:32,734 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-28 15:17:32,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,734 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {89018#true} {89018#true} #1176#return; {89018#true} is VALID [2022-04-28 15:17:32,734 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-28 15:17:32,734 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-28 15:17:32,734 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-28 15:17:32,734 INFO L290 TraceCheckUtils]: 34: Hoare triple {89018#true} #t~loopctr214 := 0; {89018#true} is VALID [2022-04-28 15:17:32,734 INFO L290 TraceCheckUtils]: 35: Hoare triple {89018#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {89018#true} is VALID [2022-04-28 15:17:32,734 INFO L290 TraceCheckUtils]: 36: Hoare triple {89018#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {89018#true} is VALID [2022-04-28 15:17:32,734 INFO L290 TraceCheckUtils]: 37: Hoare triple {89018#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {89018#true} is VALID [2022-04-28 15:17:32,734 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {89018#true} {89018#true} #1178#return; {89018#true} is VALID [2022-04-28 15:17:32,734 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-28 15:17:32,735 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-28 15:17:32,735 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-28 15:17:32,735 INFO L290 TraceCheckUtils]: 42: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~2; {89018#true} is VALID [2022-04-28 15:17:32,735 INFO L290 TraceCheckUtils]: 43: Hoare triple {89018#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89018#true} is VALID [2022-04-28 15:17:32,735 INFO L290 TraceCheckUtils]: 44: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,735 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {89018#true} {89018#true} #1180#return; {89018#true} is VALID [2022-04-28 15:17:32,735 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-28 15:17:32,735 INFO L290 TraceCheckUtils]: 47: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,735 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {89018#true} {89018#true} #1220#return; {89018#true} is VALID [2022-04-28 15:17:32,735 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-28 15:17:32,735 INFO L272 TraceCheckUtils]: 50: Hoare triple {89018#true} call stub_driver_init(); {89018#true} is VALID [2022-04-28 15:17:32,735 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-28 15:17:32,735 INFO L290 TraceCheckUtils]: 52: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,735 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {89018#true} {89018#true} #1222#return; {89018#true} is VALID [2022-04-28 15:17:32,735 INFO L290 TraceCheckUtils]: 54: Hoare triple {89018#true} assume !!(~status~5 >= 0); {89018#true} is VALID [2022-04-28 15:17:32,736 INFO L290 TraceCheckUtils]: 55: Hoare triple {89018#true} assume !(0 == ~__BLAST_NONDET~0); {89018#true} is VALID [2022-04-28 15:17:32,736 INFO L290 TraceCheckUtils]: 56: Hoare triple {89018#true} assume !(1 == ~__BLAST_NONDET~0); {89018#true} is VALID [2022-04-28 15:17:32,736 INFO L290 TraceCheckUtils]: 57: Hoare triple {89018#true} assume !(2 == ~__BLAST_NONDET~0); {89018#true} is VALID [2022-04-28 15:17:32,736 INFO L290 TraceCheckUtils]: 58: Hoare triple {89018#true} assume 3 == ~__BLAST_NONDET~0; {89018#true} is VALID [2022-04-28 15:17:32,736 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-28 15:17:32,736 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-28 15:17:32,736 INFO L290 TraceCheckUtils]: 61: Hoare triple {89018#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {89018#true} is VALID [2022-04-28 15:17:32,736 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-28 15:17:32,736 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-28 15:17:32,736 INFO L290 TraceCheckUtils]: 64: Hoare triple {89018#true} #t~loopctr215 := 0; {89018#true} is VALID [2022-04-28 15:17:32,736 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {89018#true} is VALID [2022-04-28 15:17:32,736 INFO L290 TraceCheckUtils]: 66: Hoare triple {89018#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {89018#true} is VALID [2022-04-28 15:17:32,736 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-28 15:17:32,736 INFO L290 TraceCheckUtils]: 68: Hoare triple {89018#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {89018#true} is VALID [2022-04-28 15:17:32,737 INFO L290 TraceCheckUtils]: 69: Hoare triple {89018#true} assume #res.base == dest.base && #res.offset == dest.offset; {89018#true} is VALID [2022-04-28 15:17:32,737 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {89018#true} {89018#true} #1186#return; {89018#true} is VALID [2022-04-28 15:17:32,737 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-28 15:17:32,737 INFO L290 TraceCheckUtils]: 72: Hoare triple {89018#true} assume !(~s~0 != ~NP~0); {89018#true} is VALID [2022-04-28 15:17:32,737 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-28 15:17:32,737 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-28 15:17:32,737 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-28 15:17:32,737 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-28 15:17:32,737 INFO L290 TraceCheckUtils]: 77: Hoare triple {89018#true} assume 0 != ~compRegistered~0; {89018#true} is VALID [2022-04-28 15:17:32,737 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-28 15:17:32,737 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-28 15:17:32,737 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-28 15:17:32,737 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-28 15:17:32,737 INFO L290 TraceCheckUtils]: 82: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,737 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-28 15:17:32,738 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-28 15:17:32,738 INFO L290 TraceCheckUtils]: 85: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {89018#true} {89018#true} #1210#return; {89018#true} is VALID [2022-04-28 15:17:32,738 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-28 15:17:32,738 INFO L290 TraceCheckUtils]: 88: Hoare triple {89018#true} assume -1073741802 == ~compRetStatus~0; {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L272 TraceCheckUtils]: 89: Hoare triple {89018#true} call stubMoreProcessingRequired(); {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L290 TraceCheckUtils]: 90: Hoare triple {89018#true} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L290 TraceCheckUtils]: 91: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {89018#true} {89018#true} #1212#return; {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L290 TraceCheckUtils]: 93: Hoare triple {89018#true} assume !(0 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L290 TraceCheckUtils]: 94: Hoare triple {89018#true} assume !(1 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L290 TraceCheckUtils]: 95: Hoare triple {89018#true} ~returnVal2~0 := 259; {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L290 TraceCheckUtils]: 96: Hoare triple {89018#true} assume !(~s~0 == ~NP~0); {89018#true} is VALID [2022-04-28 15:17:32,738 INFO L290 TraceCheckUtils]: 97: Hoare triple {89018#true} assume ~s~0 == ~MPR1~0; {89018#true} is VALID [2022-04-28 15:17:32,739 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-28 15:17:32,739 INFO L290 TraceCheckUtils]: 99: Hoare triple {89446#(= ~MPR3~0 ~s~0)} #res := ~returnVal2~0; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-28 15:17:32,739 INFO L290 TraceCheckUtils]: 100: Hoare triple {89446#(= ~MPR3~0 ~s~0)} assume true; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-28 15:17:32,740 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {89446#(= ~MPR3~0 ~s~0)} {89018#true} #1192#return; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-28 15:17:32,740 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-28 15:17:32,741 INFO L290 TraceCheckUtils]: 103: Hoare triple {89446#(= ~MPR3~0 ~s~0)} assume 259 == ~status~3; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-28 15:17:32,741 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-28 15:17:32,742 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-28 15:17:32,742 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-28 15:17:32,742 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-28 15:17:32,743 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-28 15:17:32,743 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-28 15:17:32,743 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-28 15:17:32,744 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-28 15:17:32,744 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-28 15:17:32,744 INFO L290 TraceCheckUtils]: 113: Hoare triple {89019#false} assume -9223372036854775808 <= #t~ret110 && #t~ret110 <= 9223372036854775807;havoc #t~ret110; {89019#false} is VALID [2022-04-28 15:17:32,745 INFO L290 TraceCheckUtils]: 114: Hoare triple {89019#false} assume ~status~3 >= 0; {89019#false} is VALID [2022-04-28 15:17:32,745 INFO L290 TraceCheckUtils]: 115: Hoare triple {89019#false} assume !(~myStatus~0 >= 0); {89019#false} is VALID [2022-04-28 15:17:32,745 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-28 15:17:32,745 INFO L272 TraceCheckUtils]: 117: Hoare triple {89019#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {89019#false} is VALID [2022-04-28 15:17:32,745 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-28 15:17:32,745 INFO L290 TraceCheckUtils]: 119: Hoare triple {89019#false} assume !(~s~0 == ~NP~0); {89019#false} is VALID [2022-04-28 15:17:32,745 INFO L272 TraceCheckUtils]: 120: Hoare triple {89019#false} call errorFn(); {89019#false} is VALID [2022-04-28 15:17:32,745 INFO L290 TraceCheckUtils]: 121: Hoare triple {89019#false} assume !false; {89019#false} is VALID [2022-04-28 15:17:32,745 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-28 15:17:32,745 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 15:17:32,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1570882959] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:17:32,745 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 15:17:32,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [14] total 16 [2022-04-28 15:17:32,746 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:17:32,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1926449608] [2022-04-28 15:17:32,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1926449608] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:17:32,746 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:17:32,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 15:17:32,746 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1167940296] [2022-04-28 15:17:32,746 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:17:32,746 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-28 15:17:32,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:17:32,747 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-28 15:17:32,826 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-28 15:17:32,826 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 15:17:32,826 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:17:32,827 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 15:17:32,827 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-28 15:17:32,827 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-28 15:17:40,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:40,114 INFO L93 Difference]: Finished difference Result 382 states and 425 transitions. [2022-04-28 15:17:40,114 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 15:17:40,114 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-28 15:17:40,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:17:40,114 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-28 15:17:40,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2022-04-28 15:17:40,115 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-28 15:17:40,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2022-04-28 15:17:40,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 212 transitions. [2022-04-28 15:17:40,260 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-28 15:17:40,265 INFO L225 Difference]: With dead ends: 382 [2022-04-28 15:17:40,265 INFO L226 Difference]: Without dead ends: 317 [2022-04-28 15:17:40,266 INFO L412 NwaCegarLoop]: 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-28 15:17:40,266 INFO L413 NwaCegarLoop]: 159 mSDtfsCounter, 71 mSDsluCounter, 149 mSDsCounter, 0 mSdLazyCounter, 185 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 15:17:40,266 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [78 Valid, 308 Invalid, 207 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 185 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 15:17:40,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 317 states. [2022-04-28 15:17:40,937 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 317 to 295. [2022-04-28 15:17:40,937 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:17:40,938 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-28 15:17:40,938 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-28 15:17:40,938 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-28 15:17:40,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:40,942 INFO L93 Difference]: Finished difference Result 317 states and 347 transitions. [2022-04-28 15:17:40,942 INFO L276 IsEmpty]: Start isEmpty. Operand 317 states and 347 transitions. [2022-04-28 15:17:40,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:17:40,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:17:40,943 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-28 15:17:40,943 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-28 15:17:40,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:40,946 INFO L93 Difference]: Finished difference Result 317 states and 347 transitions. [2022-04-28 15:17:40,946 INFO L276 IsEmpty]: Start isEmpty. Operand 317 states and 347 transitions. [2022-04-28 15:17:40,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:17:40,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:17:40,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:17:40,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:17:40,947 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-28 15:17:40,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 295 states to 295 states and 322 transitions. [2022-04-28 15:17:40,951 INFO L78 Accepts]: Start accepts. Automaton has 295 states and 322 transitions. Word has length 122 [2022-04-28 15:17:40,951 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:17:40,951 INFO L495 AbstractCegarLoop]: Abstraction has 295 states and 322 transitions. [2022-04-28 15:17:40,952 INFO L496 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-28 15:17:40,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 295 states and 322 transitions. [2022-04-28 15:17:41,774 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-28 15:17:41,774 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 322 transitions. [2022-04-28 15:17:41,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-28 15:17:41,775 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:17:41,775 INFO L195 NwaCegarLoop]: 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-28 15:17:41,800 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 15:17:41,975 WARN L477 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-28 15:17:41,976 INFO L420 AbstractCegarLoop]: === Iteration 38 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:17:41,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:17:41,976 INFO L85 PathProgramCache]: Analyzing trace with hash -2117844311, now seen corresponding path program 1 times [2022-04-28 15:17:41,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:17:41,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [804835504] [2022-04-28 15:17:41,978 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:17:41,978 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:17:41,978 INFO L85 PathProgramCache]: Analyzing trace with hash -2117844311, now seen corresponding path program 2 times [2022-04-28 15:17:41,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:17:41,978 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1639594186] [2022-04-28 15:17:41,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:17:41,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:17:42,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,165 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:17:42,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,171 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-28 15:17:42,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,171 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1270#return; {91507#true} is VALID [2022-04-28 15:17:42,195 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:17:42,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,200 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-28 15:17:42,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,201 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1216#return; {91507#true} is VALID [2022-04-28 15:17:42,208 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:17:42,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,220 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:42,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,224 INFO L290 TraceCheckUtils]: 0: Hoare triple {91507#true} ~cond := #in~cond; {91507#true} is VALID [2022-04-28 15:17:42,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume !(0 == ~cond); {91507#true} is VALID [2022-04-28 15:17:42,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,224 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91507#true} {91507#true} #1254#return; {91507#true} is VALID [2022-04-28 15:17:42,224 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-28 15:17:42,225 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-28 15:17:42,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} ~cond := #in~cond; {91507#true} is VALID [2022-04-28 15:17:42,225 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume !(0 == ~cond); {91507#true} is VALID [2022-04-28 15:17:42,225 INFO L290 TraceCheckUtils]: 4: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,225 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {91507#true} {91507#true} #1254#return; {91507#true} is VALID [2022-04-28 15:17:42,225 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-28 15:17:42,225 INFO L290 TraceCheckUtils]: 7: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,225 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {91507#true} {91507#true} #1218#return; {91507#true} is VALID [2022-04-28 15:17:42,235 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:17:42,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:42,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,262 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-28 15:17:42,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~5; {91507#true} is VALID [2022-04-28 15:17:42,262 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-28 15:17:42,262 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,262 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91507#true} {91507#true} #1176#return; {91507#true} is VALID [2022-04-28 15:17:42,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:17:42,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,269 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-28 15:17:42,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {91507#true} is VALID [2022-04-28 15:17:42,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {91507#true} is VALID [2022-04-28 15:17:42,269 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91507#true} is VALID [2022-04-28 15:17:42,269 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91507#true} {91507#true} #1178#return; {91507#true} is VALID [2022-04-28 15:17:42,269 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:17:42,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,274 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-28 15:17:42,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~2; {91507#true} is VALID [2022-04-28 15:17:42,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91507#true} is VALID [2022-04-28 15:17:42,274 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,274 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91507#true} {91507#true} #1180#return; {91507#true} is VALID [2022-04-28 15:17:42,275 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-28 15:17:42,276 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-28 15:17:42,276 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-28 15:17:42,276 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~5; {91507#true} is VALID [2022-04-28 15:17:42,276 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-28 15:17:42,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,276 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {91507#true} {91507#true} #1176#return; {91507#true} is VALID [2022-04-28 15:17:42,276 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-28 15:17:42,276 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-28 15:17:42,277 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-28 15:17:42,277 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-28 15:17:42,277 INFO L290 TraceCheckUtils]: 11: Hoare triple {91507#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {91507#true} is VALID [2022-04-28 15:17:42,277 INFO L290 TraceCheckUtils]: 12: Hoare triple {91507#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {91507#true} is VALID [2022-04-28 15:17:42,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {91507#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91507#true} is VALID [2022-04-28 15:17:42,277 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {91507#true} {91507#true} #1178#return; {91507#true} is VALID [2022-04-28 15:17:42,277 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-28 15:17:42,277 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-28 15:17:42,277 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-28 15:17:42,277 INFO L290 TraceCheckUtils]: 18: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~2; {91507#true} is VALID [2022-04-28 15:17:42,278 INFO L290 TraceCheckUtils]: 19: Hoare triple {91507#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91507#true} is VALID [2022-04-28 15:17:42,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,278 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {91507#true} {91507#true} #1180#return; {91507#true} is VALID [2022-04-28 15:17:42,278 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-28 15:17:42,278 INFO L290 TraceCheckUtils]: 23: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,278 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {91507#true} {91507#true} #1220#return; {91507#true} is VALID [2022-04-28 15:17:42,291 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:17:42,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,296 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-28 15:17:42,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,297 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1222#return; {91507#true} is VALID [2022-04-28 15:17:42,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-28 15:17:42,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,377 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-28 15:17:42,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,388 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-28 15:17:42,388 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {91507#true} is VALID [2022-04-28 15:17:42,388 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {91507#true} is VALID [2022-04-28 15:17:42,388 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-28 15:17:42,388 INFO L290 TraceCheckUtils]: 4: Hoare triple {91507#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {91507#true} is VALID [2022-04-28 15:17:42,388 INFO L290 TraceCheckUtils]: 5: Hoare triple {91507#true} assume #res.base == dest.base && #res.offset == dest.offset; {91507#true} is VALID [2022-04-28 15:17:42,388 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {91507#true} {91507#true} #1186#return; {91507#true} is VALID [2022-04-28 15:17:42,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-28 15:17:42,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,453 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:17:42,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:17:42,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,464 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-28 15:17:42,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,464 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-28 15:17:42,464 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-28 15:17:42,465 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-28 15:17:42,465 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-28 15:17:42,465 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,465 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-28 15:17:42,465 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-28 15:17:42,465 INFO L290 TraceCheckUtils]: 6: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,465 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {91507#true} {91507#true} #1210#return; {91507#true} is VALID [2022-04-28 15:17:42,476 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:17:42,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,481 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-28 15:17:42,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,481 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1212#return; {91507#true} is VALID [2022-04-28 15:17:42,481 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-28 15:17:42,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume 0 != ~compRegistered~0; {91507#true} is VALID [2022-04-28 15:17:42,482 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-28 15:17:42,482 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-28 15:17:42,482 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-28 15:17:42,482 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-28 15:17:42,483 INFO L290 TraceCheckUtils]: 6: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,483 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-28 15:17:42,483 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-28 15:17:42,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,483 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {91507#true} {91507#true} #1210#return; {91507#true} is VALID [2022-04-28 15:17:42,483 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-28 15:17:42,483 INFO L290 TraceCheckUtils]: 12: Hoare triple {91507#true} assume -1073741802 == ~compRetStatus~0; {91507#true} is VALID [2022-04-28 15:17:42,483 INFO L272 TraceCheckUtils]: 13: Hoare triple {91507#true} call stubMoreProcessingRequired(); {91690#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:42,483 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-28 15:17:42,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,484 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {91507#true} {91507#true} #1212#return; {91507#true} is VALID [2022-04-28 15:17:42,484 INFO L290 TraceCheckUtils]: 17: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~11; {91507#true} is VALID [2022-04-28 15:17:42,484 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-28 15:17:42,484 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-28 15:17:42,485 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-28 15:17:42,485 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-28 15:17:42,485 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-28 15:17:42,486 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-28 15:17:42,486 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-28 15:17:42,487 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 15:17:42,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:17:42,492 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-28 15:17:42,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91507#true} is VALID [2022-04-28 15:17:42,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,492 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-28 15:17:42,492 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-28 15:17:42,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {91507#true} is VALID [2022-04-28 15:17:42,493 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-28 15:17:42,493 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-28 15:17:42,493 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-28 15:17:42,493 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {91507#true} is VALID [2022-04-28 15:17:42,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {91507#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {91507#true} is VALID [2022-04-28 15:17:42,494 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-28 15:17:42,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {91507#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {91507#true} is VALID [2022-04-28 15:17:42,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {91507#true} assume #res.base == dest.base && #res.offset == dest.offset; {91507#true} is VALID [2022-04-28 15:17:42,494 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {91507#true} {91507#true} #1186#return; {91507#true} is VALID [2022-04-28 15:17:42,494 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-28 15:17:42,494 INFO L290 TraceCheckUtils]: 12: Hoare triple {91507#true} assume !(~s~0 != ~NP~0); {91507#true} is VALID [2022-04-28 15:17:42,494 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-28 15:17:42,494 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-28 15:17:42,495 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-28 15:17:42,495 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-28 15:17:42,495 INFO L290 TraceCheckUtils]: 17: Hoare triple {91507#true} assume 0 != ~compRegistered~0; {91507#true} is VALID [2022-04-28 15:17:42,496 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-28 15:17:42,496 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-28 15:17:42,496 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-28 15:17:42,496 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-28 15:17:42,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,497 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-28 15:17:42,497 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-28 15:17:42,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,497 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {91507#true} {91507#true} #1210#return; {91507#true} is VALID [2022-04-28 15:17:42,497 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-28 15:17:42,497 INFO L290 TraceCheckUtils]: 28: Hoare triple {91507#true} assume -1073741802 == ~compRetStatus~0; {91507#true} is VALID [2022-04-28 15:17:42,497 INFO L272 TraceCheckUtils]: 29: Hoare triple {91507#true} call stubMoreProcessingRequired(); {91690#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:42,497 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-28 15:17:42,497 INFO L290 TraceCheckUtils]: 31: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,497 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {91507#true} {91507#true} #1212#return; {91507#true} is VALID [2022-04-28 15:17:42,498 INFO L290 TraceCheckUtils]: 33: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~11; {91507#true} is VALID [2022-04-28 15:17:42,498 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-28 15:17:42,498 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-28 15:17:42,498 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-28 15:17:42,499 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-28 15:17:42,499 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-28 15:17:42,499 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-28 15:17:42,500 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-28 15:17:42,501 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-28 15:17:42,501 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-28 15:17:42,501 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-28 15:17:42,501 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-28 15:17:42,502 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-28 15:17:42,502 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-28 15:17:42,502 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-28 15:17:42,502 INFO L290 TraceCheckUtils]: 48: Hoare triple {91507#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91507#true} is VALID [2022-04-28 15:17:42,502 INFO L290 TraceCheckUtils]: 49: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,529 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-28 15:17:42,530 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-28 15:17:42,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {91671#(= |KbFilter_PnP_#res| 0)} assume true; {91671#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-28 15:17:42,531 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-28 15:17:42,532 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-28 15:17:42,532 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-28 15:17:42,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,532 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91507#true} {91507#true} #1270#return; {91507#true} is VALID [2022-04-28 15:17:42,532 INFO L272 TraceCheckUtils]: 4: Hoare triple {91507#true} call #t~ret213 := main(); {91507#true} is VALID [2022-04-28 15:17:42,533 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-28 15:17:42,534 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-28 15:17:42,535 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-28 15:17:42,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,535 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {91507#true} {91507#true} #1216#return; {91507#true} is VALID [2022-04-28 15:17:42,536 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-28 15:17:42,536 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-28 15:17:42,536 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-28 15:17:42,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {91507#true} ~cond := #in~cond; {91507#true} is VALID [2022-04-28 15:17:42,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {91507#true} assume !(0 == ~cond); {91507#true} is VALID [2022-04-28 15:17:42,536 INFO L290 TraceCheckUtils]: 15: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,536 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {91507#true} {91507#true} #1254#return; {91507#true} is VALID [2022-04-28 15:17:42,537 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-28 15:17:42,537 INFO L290 TraceCheckUtils]: 18: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,537 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {91507#true} {91507#true} #1218#return; {91507#true} is VALID [2022-04-28 15:17:42,537 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-28 15:17:42,537 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-28 15:17:42,537 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-28 15:17:42,538 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-28 15:17:42,538 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-28 15:17:42,539 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-28 15:17:42,539 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-28 15:17:42,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~5; {91507#true} is VALID [2022-04-28 15:17:42,539 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-28 15:17:42,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,539 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {91507#true} {91507#true} #1176#return; {91507#true} is VALID [2022-04-28 15:17:42,539 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-28 15:17:42,539 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-28 15:17:42,540 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-28 15:17:42,540 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-28 15:17:42,540 INFO L290 TraceCheckUtils]: 35: Hoare triple {91507#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {91507#true} is VALID [2022-04-28 15:17:42,540 INFO L290 TraceCheckUtils]: 36: Hoare triple {91507#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {91507#true} is VALID [2022-04-28 15:17:42,540 INFO L290 TraceCheckUtils]: 37: Hoare triple {91507#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91507#true} is VALID [2022-04-28 15:17:42,540 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {91507#true} {91507#true} #1178#return; {91507#true} is VALID [2022-04-28 15:17:42,540 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-28 15:17:42,541 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-28 15:17:42,541 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-28 15:17:42,541 INFO L290 TraceCheckUtils]: 42: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~2; {91507#true} is VALID [2022-04-28 15:17:42,541 INFO L290 TraceCheckUtils]: 43: Hoare triple {91507#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91507#true} is VALID [2022-04-28 15:17:42,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,541 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {91507#true} {91507#true} #1180#return; {91507#true} is VALID [2022-04-28 15:17:42,541 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-28 15:17:42,541 INFO L290 TraceCheckUtils]: 47: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,541 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {91507#true} {91507#true} #1220#return; {91507#true} is VALID [2022-04-28 15:17:42,541 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-28 15:17:42,542 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-28 15:17:42,542 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-28 15:17:42,542 INFO L290 TraceCheckUtils]: 52: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,542 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {91507#true} {91507#true} #1222#return; {91507#true} is VALID [2022-04-28 15:17:42,542 INFO L290 TraceCheckUtils]: 54: Hoare triple {91507#true} assume !!(~status~5 >= 0); {91507#true} is VALID [2022-04-28 15:17:42,542 INFO L290 TraceCheckUtils]: 55: Hoare triple {91507#true} assume !(0 == ~__BLAST_NONDET~0); {91507#true} is VALID [2022-04-28 15:17:42,542 INFO L290 TraceCheckUtils]: 56: Hoare triple {91507#true} assume !(1 == ~__BLAST_NONDET~0); {91507#true} is VALID [2022-04-28 15:17:42,542 INFO L290 TraceCheckUtils]: 57: Hoare triple {91507#true} assume !(2 == ~__BLAST_NONDET~0); {91507#true} is VALID [2022-04-28 15:17:42,542 INFO L290 TraceCheckUtils]: 58: Hoare triple {91507#true} assume 3 == ~__BLAST_NONDET~0; {91507#true} is VALID [2022-04-28 15:17:42,543 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-28 15:17:42,543 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-28 15:17:42,543 INFO L290 TraceCheckUtils]: 61: Hoare triple {91507#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {91507#true} is VALID [2022-04-28 15:17:42,543 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-28 15:17:42,544 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-28 15:17:42,544 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-28 15:17:42,544 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {91507#true} is VALID [2022-04-28 15:17:42,544 INFO L290 TraceCheckUtils]: 66: Hoare triple {91507#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {91507#true} is VALID [2022-04-28 15:17:42,544 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-28 15:17:42,544 INFO L290 TraceCheckUtils]: 68: Hoare triple {91507#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {91507#true} is VALID [2022-04-28 15:17:42,544 INFO L290 TraceCheckUtils]: 69: Hoare triple {91507#true} assume #res.base == dest.base && #res.offset == dest.offset; {91507#true} is VALID [2022-04-28 15:17:42,545 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {91507#true} {91507#true} #1186#return; {91507#true} is VALID [2022-04-28 15:17:42,545 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-28 15:17:42,545 INFO L290 TraceCheckUtils]: 72: Hoare triple {91507#true} assume !(~s~0 != ~NP~0); {91507#true} is VALID [2022-04-28 15:17:42,545 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-28 15:17:42,545 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-28 15:17:42,545 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-28 15:17:42,546 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-28 15:17:42,546 INFO L290 TraceCheckUtils]: 77: Hoare triple {91507#true} assume 0 != ~compRegistered~0; {91507#true} is VALID [2022-04-28 15:17:42,546 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-28 15:17:42,546 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-28 15:17:42,547 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-28 15:17:42,547 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-28 15:17:42,547 INFO L290 TraceCheckUtils]: 82: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,547 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-28 15:17:42,547 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-28 15:17:42,547 INFO L290 TraceCheckUtils]: 85: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,547 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {91507#true} {91507#true} #1210#return; {91507#true} is VALID [2022-04-28 15:17:42,547 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-28 15:17:42,547 INFO L290 TraceCheckUtils]: 88: Hoare triple {91507#true} assume -1073741802 == ~compRetStatus~0; {91507#true} is VALID [2022-04-28 15:17:42,548 INFO L272 TraceCheckUtils]: 89: Hoare triple {91507#true} call stubMoreProcessingRequired(); {91690#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:17:42,548 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-28 15:17:42,548 INFO L290 TraceCheckUtils]: 91: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,548 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {91507#true} {91507#true} #1212#return; {91507#true} is VALID [2022-04-28 15:17:42,548 INFO L290 TraceCheckUtils]: 93: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~11; {91507#true} is VALID [2022-04-28 15:17:42,548 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-28 15:17:42,549 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-28 15:17:42,549 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-28 15:17:42,549 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-28 15:17:42,549 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-28 15:17:42,550 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-28 15:17:42,550 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-28 15:17:42,551 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-28 15:17:42,551 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-28 15:17:42,551 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-28 15:17:42,551 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-28 15:17:42,552 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-28 15:17:42,552 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-28 15:17:42,552 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-28 15:17:42,552 INFO L290 TraceCheckUtils]: 108: Hoare triple {91507#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91507#true} is VALID [2022-04-28 15:17:42,552 INFO L290 TraceCheckUtils]: 109: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-28 15:17:42,553 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-28 15:17:42,553 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-28 15:17:42,553 INFO L290 TraceCheckUtils]: 112: Hoare triple {91671#(= |KbFilter_PnP_#res| 0)} assume true; {91671#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-28 15:17:42,554 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-28 15:17:42,554 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-28 15:17:42,555 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-28 15:17:42,555 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-28 15:17:42,555 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-28 15:17:42,555 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-28 15:17:42,556 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-28 15:17:42,556 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-28 15:17:42,556 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-28 15:17:42,556 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-28 15:17:42,557 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-28 15:17:42,557 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-28 15:17:42,557 INFO L290 TraceCheckUtils]: 125: Hoare triple {91607#(not (= main_~status~5 259))} assume 259 == ~status~5; {91508#false} is VALID [2022-04-28 15:17:42,557 INFO L272 TraceCheckUtils]: 126: Hoare triple {91508#false} call errorFn(); {91508#false} is VALID [2022-04-28 15:17:42,576 INFO L290 TraceCheckUtils]: 127: Hoare triple {91508#false} assume !false; {91508#false} is VALID [2022-04-28 15:17:42,576 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-28 15:17:42,577 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:17:42,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1639594186] [2022-04-28 15:17:42,577 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1639594186] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:17:42,577 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:17:42,577 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 15:17:42,577 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:17:42,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [804835504] [2022-04-28 15:17:42,577 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [804835504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:17:42,577 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:17:42,577 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 15:17:42,577 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2136447055] [2022-04-28 15:17:42,577 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:17:42,579 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-28 15:17:42,579 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:17:42,579 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-28 15:17:42,670 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-28 15:17:42,670 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 15:17:42,670 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:17:42,670 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 15:17:42,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=253, Unknown=0, NotChecked=0, Total=306 [2022-04-28 15:17:42,671 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-28 15:17:44,812 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-28 15:17:59,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:17:59,412 INFO L93 Difference]: Finished difference Result 339 states and 373 transitions. [2022-04-28 15:17:59,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 15:17:59,412 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-28 15:17:59,413 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:17:59,413 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-28 15:17:59,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 210 transitions. [2022-04-28 15:17:59,414 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-28 15:17:59,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 210 transitions. [2022-04-28 15:17:59,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 210 transitions. [2022-04-28 15:17:59,631 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-28 15:17:59,635 INFO L225 Difference]: With dead ends: 339 [2022-04-28 15:17:59,635 INFO L226 Difference]: Without dead ends: 297 [2022-04-28 15:17:59,636 INFO L412 NwaCegarLoop]: 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-28 15:17:59,636 INFO L413 NwaCegarLoop]: 145 mSDtfsCounter, 279 mSDsluCounter, 511 mSDsCounter, 0 mSdLazyCounter, 1196 mSolverCounterSat, 156 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.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, 7.0s IncrementalHoareTripleChecker+Time [2022-04-28 15:17:59,636 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [281 Valid, 656 Invalid, 1353 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [156 Valid, 1196 Invalid, 1 Unknown, 0 Unchecked, 7.0s Time] [2022-04-28 15:17:59,636 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2022-04-28 15:18:00,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 277. [2022-04-28 15:18:00,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:18:00,268 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-28 15:18:00,268 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-28 15:18:00,268 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-28 15:18:00,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:18:00,272 INFO L93 Difference]: Finished difference Result 297 states and 326 transitions. [2022-04-28 15:18:00,272 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 326 transitions. [2022-04-28 15:18:00,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:18:00,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:18:00,272 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-28 15:18:00,273 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-28 15:18:00,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:18:00,276 INFO L93 Difference]: Finished difference Result 297 states and 326 transitions. [2022-04-28 15:18:00,277 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 326 transitions. [2022-04-28 15:18:00,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:18:00,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:18:00,277 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:18:00,277 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:18:00,277 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-28 15:18:00,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 277 states to 277 states and 302 transitions. [2022-04-28 15:18:00,281 INFO L78 Accepts]: Start accepts. Automaton has 277 states and 302 transitions. Word has length 128 [2022-04-28 15:18:00,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:18:00,282 INFO L495 AbstractCegarLoop]: Abstraction has 277 states and 302 transitions. [2022-04-28 15:18:00,282 INFO L496 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-28 15:18:00,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 277 states and 302 transitions. [2022-04-28 15:18:01,083 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-28 15:18:01,083 INFO L276 IsEmpty]: Start isEmpty. Operand 277 states and 302 transitions. [2022-04-28 15:18:01,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-28 15:18:01,084 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:18:01,084 INFO L195 NwaCegarLoop]: 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-28 15:18:01,084 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable37 [2022-04-28 15:18:01,084 INFO L420 AbstractCegarLoop]: === Iteration 39 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:18:01,085 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:18:01,085 INFO L85 PathProgramCache]: Analyzing trace with hash -186237449, now seen corresponding path program 1 times [2022-04-28 15:18:01,085 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:18:01,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [967724892] [2022-04-28 15:18:01,086 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:18:01,086 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:18:01,087 INFO L85 PathProgramCache]: Analyzing trace with hash -186237449, now seen corresponding path program 2 times [2022-04-28 15:18:01,087 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:18:01,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1973262995] [2022-04-28 15:18:01,087 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:18:01,087 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:18:01,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,245 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:18:01,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,251 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-28 15:18:01,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,252 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1270#return; {93543#true} is VALID [2022-04-28 15:18:01,275 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:18:01,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,281 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-28 15:18:01,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,281 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1216#return; {93543#true} is VALID [2022-04-28 15:18:01,288 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:18:01,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,299 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:01,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,304 INFO L290 TraceCheckUtils]: 0: Hoare triple {93543#true} ~cond := #in~cond; {93543#true} is VALID [2022-04-28 15:18:01,304 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume !(0 == ~cond); {93543#true} is VALID [2022-04-28 15:18:01,304 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,304 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93543#true} {93543#true} #1254#return; {93543#true} is VALID [2022-04-28 15:18:01,304 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-28 15:18:01,304 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-28 15:18:01,304 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} ~cond := #in~cond; {93543#true} is VALID [2022-04-28 15:18:01,304 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume !(0 == ~cond); {93543#true} is VALID [2022-04-28 15:18:01,305 INFO L290 TraceCheckUtils]: 4: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,305 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {93543#true} {93543#true} #1254#return; {93543#true} is VALID [2022-04-28 15:18:01,305 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-28 15:18:01,305 INFO L290 TraceCheckUtils]: 7: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,305 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {93543#true} {93543#true} #1218#return; {93543#true} is VALID [2022-04-28 15:18:01,314 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:18:01,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,332 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:01,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,340 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-28 15:18:01,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~5; {93543#true} is VALID [2022-04-28 15:18:01,340 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-28 15:18:01,341 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,341 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93543#true} {93543#true} #1176#return; {93543#true} is VALID [2022-04-28 15:18:01,341 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:18:01,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,347 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-28 15:18:01,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {93543#true} is VALID [2022-04-28 15:18:01,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {93543#true} is VALID [2022-04-28 15:18:01,347 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93543#true} is VALID [2022-04-28 15:18:01,347 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93543#true} {93543#true} #1178#return; {93543#true} is VALID [2022-04-28 15:18:01,347 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:18:01,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,352 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-28 15:18:01,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~2; {93543#true} is VALID [2022-04-28 15:18:01,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93543#true} is VALID [2022-04-28 15:18:01,352 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,352 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93543#true} {93543#true} #1180#return; {93543#true} is VALID [2022-04-28 15:18:01,352 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-28 15:18:01,353 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-28 15:18:01,353 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-28 15:18:01,353 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~5; {93543#true} is VALID [2022-04-28 15:18:01,353 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-28 15:18:01,353 INFO L290 TraceCheckUtils]: 5: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,354 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {93543#true} {93543#true} #1176#return; {93543#true} is VALID [2022-04-28 15:18:01,354 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-28 15:18:01,354 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-28 15:18:01,354 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-28 15:18:01,354 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-28 15:18:01,354 INFO L290 TraceCheckUtils]: 11: Hoare triple {93543#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {93543#true} is VALID [2022-04-28 15:18:01,355 INFO L290 TraceCheckUtils]: 12: Hoare triple {93543#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {93543#true} is VALID [2022-04-28 15:18:01,355 INFO L290 TraceCheckUtils]: 13: Hoare triple {93543#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93543#true} is VALID [2022-04-28 15:18:01,355 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {93543#true} {93543#true} #1178#return; {93543#true} is VALID [2022-04-28 15:18:01,355 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-28 15:18:01,355 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-28 15:18:01,355 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-28 15:18:01,355 INFO L290 TraceCheckUtils]: 18: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~2; {93543#true} is VALID [2022-04-28 15:18:01,355 INFO L290 TraceCheckUtils]: 19: Hoare triple {93543#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93543#true} is VALID [2022-04-28 15:18:01,355 INFO L290 TraceCheckUtils]: 20: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,355 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {93543#true} {93543#true} #1180#return; {93543#true} is VALID [2022-04-28 15:18:01,355 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-28 15:18:01,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,355 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {93543#true} {93543#true} #1220#return; {93543#true} is VALID [2022-04-28 15:18:01,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:18:01,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,392 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-28 15:18:01,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,393 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1222#return; {93543#true} is VALID [2022-04-28 15:18:01,413 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-28 15:18:01,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-28 15:18:01,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,484 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-28 15:18:01,484 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {93543#true} is VALID [2022-04-28 15:18:01,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {93543#true} is VALID [2022-04-28 15:18:01,484 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-28 15:18:01,484 INFO L290 TraceCheckUtils]: 4: Hoare triple {93543#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {93543#true} is VALID [2022-04-28 15:18:01,484 INFO L290 TraceCheckUtils]: 5: Hoare triple {93543#true} assume #res.base == dest.base && #res.offset == dest.offset; {93543#true} is VALID [2022-04-28 15:18:01,484 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {93543#true} {93543#true} #1186#return; {93543#true} is VALID [2022-04-28 15:18:01,495 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-28 15:18:01,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,514 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:18:01,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,520 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:01,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,524 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-28 15:18:01,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,524 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-28 15:18:01,524 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-28 15:18:01,525 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-28 15:18:01,525 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-28 15:18:01,525 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,525 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-28 15:18:01,525 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-28 15:18:01,525 INFO L290 TraceCheckUtils]: 6: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,525 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {93543#true} {93543#true} #1210#return; {93543#true} is VALID [2022-04-28 15:18:01,534 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:18:01,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,538 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-28 15:18:01,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,539 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1212#return; {93543#true} is VALID [2022-04-28 15:18:01,539 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-28 15:18:01,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume 0 != ~compRegistered~0; {93543#true} is VALID [2022-04-28 15:18:01,540 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-28 15:18:01,540 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-28 15:18:01,540 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-28 15:18:01,540 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-28 15:18:01,540 INFO L290 TraceCheckUtils]: 6: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,540 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-28 15:18:01,541 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-28 15:18:01,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,541 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {93543#true} {93543#true} #1210#return; {93543#true} is VALID [2022-04-28 15:18:01,541 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-28 15:18:01,541 INFO L290 TraceCheckUtils]: 12: Hoare triple {93543#true} assume -1073741802 == ~compRetStatus~0; {93543#true} is VALID [2022-04-28 15:18:01,541 INFO L272 TraceCheckUtils]: 13: Hoare triple {93543#true} call stubMoreProcessingRequired(); {93724#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:01,541 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-28 15:18:01,541 INFO L290 TraceCheckUtils]: 15: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,541 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93543#true} {93543#true} #1212#return; {93543#true} is VALID [2022-04-28 15:18:01,541 INFO L290 TraceCheckUtils]: 17: Hoare triple {93543#true} assume !(0 == ~__BLAST_NONDET~11); {93543#true} is VALID [2022-04-28 15:18:01,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {93543#true} assume 1 == ~__BLAST_NONDET~11; {93543#true} is VALID [2022-04-28 15:18:01,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {93543#true} ~returnVal2~0 := -1073741823; {93543#true} is VALID [2022-04-28 15:18:01,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {93543#true} assume !(~s~0 == ~NP~0); {93543#true} is VALID [2022-04-28 15:18:01,542 INFO L290 TraceCheckUtils]: 21: Hoare triple {93543#true} assume ~s~0 == ~MPR1~0; {93543#true} is VALID [2022-04-28 15:18:01,542 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-28 15:18:01,542 INFO L290 TraceCheckUtils]: 23: Hoare triple {93543#true} #res := ~returnVal2~0; {93543#true} is VALID [2022-04-28 15:18:01,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,542 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93543#true} {93543#true} #1192#return; {93543#true} is VALID [2022-04-28 15:18:01,542 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 15:18:01,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:01,550 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-28 15:18:01,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93543#true} is VALID [2022-04-28 15:18:01,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,551 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-28 15:18:01,551 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-28 15:18:01,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {93543#true} is VALID [2022-04-28 15:18:01,551 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-28 15:18:01,552 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-28 15:18:01,552 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-28 15:18:01,552 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {93543#true} is VALID [2022-04-28 15:18:01,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {93543#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {93543#true} is VALID [2022-04-28 15:18:01,552 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-28 15:18:01,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {93543#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {93543#true} is VALID [2022-04-28 15:18:01,552 INFO L290 TraceCheckUtils]: 9: Hoare triple {93543#true} assume #res.base == dest.base && #res.offset == dest.offset; {93543#true} is VALID [2022-04-28 15:18:01,552 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {93543#true} {93543#true} #1186#return; {93543#true} is VALID [2022-04-28 15:18:01,552 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-28 15:18:01,552 INFO L290 TraceCheckUtils]: 12: Hoare triple {93543#true} assume !(~s~0 != ~NP~0); {93543#true} is VALID [2022-04-28 15:18:01,552 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-28 15:18:01,552 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-28 15:18:01,553 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-28 15:18:01,553 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-28 15:18:01,553 INFO L290 TraceCheckUtils]: 17: Hoare triple {93543#true} assume 0 != ~compRegistered~0; {93543#true} is VALID [2022-04-28 15:18:01,554 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-28 15:18:01,554 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-28 15:18:01,555 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-28 15:18:01,555 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-28 15:18:01,555 INFO L290 TraceCheckUtils]: 22: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,555 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-28 15:18:01,555 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-28 15:18:01,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,555 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {93543#true} {93543#true} #1210#return; {93543#true} is VALID [2022-04-28 15:18:01,555 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-28 15:18:01,555 INFO L290 TraceCheckUtils]: 28: Hoare triple {93543#true} assume -1073741802 == ~compRetStatus~0; {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L272 TraceCheckUtils]: 29: Hoare triple {93543#true} call stubMoreProcessingRequired(); {93724#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:01,556 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-28 15:18:01,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {93543#true} {93543#true} #1212#return; {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {93543#true} assume !(0 == ~__BLAST_NONDET~11); {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L290 TraceCheckUtils]: 34: Hoare triple {93543#true} assume 1 == ~__BLAST_NONDET~11; {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {93543#true} ~returnVal2~0 := -1073741823; {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L290 TraceCheckUtils]: 36: Hoare triple {93543#true} assume !(~s~0 == ~NP~0); {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L290 TraceCheckUtils]: 37: Hoare triple {93543#true} assume ~s~0 == ~MPR1~0; {93543#true} is VALID [2022-04-28 15:18:01,556 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-28 15:18:01,556 INFO L290 TraceCheckUtils]: 39: Hoare triple {93543#true} #res := ~returnVal2~0; {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L290 TraceCheckUtils]: 40: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,556 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {93543#true} {93543#true} #1192#return; {93543#true} is VALID [2022-04-28 15:18:01,556 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-28 15:18:01,557 INFO L290 TraceCheckUtils]: 43: Hoare triple {93543#true} assume !(259 == ~status~3); {93543#true} is VALID [2022-04-28 15:18:01,557 INFO L290 TraceCheckUtils]: 44: Hoare triple {93543#true} assume !(~status~3 >= 0); {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-28 15:18:01,557 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-28 15:18:01,558 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-28 15:18:01,558 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-28 15:18:01,558 INFO L290 TraceCheckUtils]: 48: Hoare triple {93543#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93543#true} is VALID [2022-04-28 15:18:01,558 INFO L290 TraceCheckUtils]: 49: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,558 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-28 15:18:01,559 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-28 15:18:01,559 INFO L290 TraceCheckUtils]: 52: Hoare triple {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} assume true; {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-28 15:18:01,560 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-28 15:18:01,561 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-28 15:18:01,561 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-28 15:18:01,561 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,561 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93543#true} {93543#true} #1270#return; {93543#true} is VALID [2022-04-28 15:18:01,561 INFO L272 TraceCheckUtils]: 4: Hoare triple {93543#true} call #t~ret213 := main(); {93543#true} is VALID [2022-04-28 15:18:01,561 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-28 15:18:01,562 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-28 15:18:01,562 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-28 15:18:01,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,562 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {93543#true} {93543#true} #1216#return; {93543#true} is VALID [2022-04-28 15:18:01,563 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-28 15:18:01,563 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-28 15:18:01,563 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-28 15:18:01,563 INFO L290 TraceCheckUtils]: 13: Hoare triple {93543#true} ~cond := #in~cond; {93543#true} is VALID [2022-04-28 15:18:01,563 INFO L290 TraceCheckUtils]: 14: Hoare triple {93543#true} assume !(0 == ~cond); {93543#true} is VALID [2022-04-28 15:18:01,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,564 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93543#true} {93543#true} #1254#return; {93543#true} is VALID [2022-04-28 15:18:01,564 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-28 15:18:01,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,564 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {93543#true} {93543#true} #1218#return; {93543#true} is VALID [2022-04-28 15:18:01,564 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-28 15:18:01,564 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-28 15:18:01,564 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-28 15:18:01,565 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-28 15:18:01,565 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-28 15:18:01,566 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-28 15:18:01,566 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-28 15:18:01,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~5; {93543#true} is VALID [2022-04-28 15:18:01,566 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-28 15:18:01,566 INFO L290 TraceCheckUtils]: 29: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,566 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {93543#true} {93543#true} #1176#return; {93543#true} is VALID [2022-04-28 15:18:01,566 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-28 15:18:01,566 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-28 15:18:01,567 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-28 15:18:01,567 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-28 15:18:01,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {93543#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {93543#true} is VALID [2022-04-28 15:18:01,567 INFO L290 TraceCheckUtils]: 36: Hoare triple {93543#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {93543#true} is VALID [2022-04-28 15:18:01,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {93543#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93543#true} is VALID [2022-04-28 15:18:01,567 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {93543#true} {93543#true} #1178#return; {93543#true} is VALID [2022-04-28 15:18:01,567 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-28 15:18:01,568 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-28 15:18:01,568 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-28 15:18:01,568 INFO L290 TraceCheckUtils]: 42: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~2; {93543#true} is VALID [2022-04-28 15:18:01,568 INFO L290 TraceCheckUtils]: 43: Hoare triple {93543#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93543#true} is VALID [2022-04-28 15:18:01,568 INFO L290 TraceCheckUtils]: 44: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,568 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {93543#true} {93543#true} #1180#return; {93543#true} is VALID [2022-04-28 15:18:01,568 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-28 15:18:01,568 INFO L290 TraceCheckUtils]: 47: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,568 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {93543#true} {93543#true} #1220#return; {93543#true} is VALID [2022-04-28 15:18:01,568 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-28 15:18:01,569 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-28 15:18:01,569 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-28 15:18:01,569 INFO L290 TraceCheckUtils]: 52: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,569 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {93543#true} {93543#true} #1222#return; {93543#true} is VALID [2022-04-28 15:18:01,569 INFO L290 TraceCheckUtils]: 54: Hoare triple {93543#true} assume !!(~status~5 >= 0); {93543#true} is VALID [2022-04-28 15:18:01,569 INFO L290 TraceCheckUtils]: 55: Hoare triple {93543#true} assume !(0 == ~__BLAST_NONDET~0); {93543#true} is VALID [2022-04-28 15:18:01,569 INFO L290 TraceCheckUtils]: 56: Hoare triple {93543#true} assume !(1 == ~__BLAST_NONDET~0); {93543#true} is VALID [2022-04-28 15:18:01,569 INFO L290 TraceCheckUtils]: 57: Hoare triple {93543#true} assume !(2 == ~__BLAST_NONDET~0); {93543#true} is VALID [2022-04-28 15:18:01,569 INFO L290 TraceCheckUtils]: 58: Hoare triple {93543#true} assume 3 == ~__BLAST_NONDET~0; {93543#true} is VALID [2022-04-28 15:18:01,570 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-28 15:18:01,570 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-28 15:18:01,571 INFO L290 TraceCheckUtils]: 61: Hoare triple {93543#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {93543#true} is VALID [2022-04-28 15:18:01,571 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-28 15:18:01,571 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-28 15:18:01,571 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-28 15:18:01,572 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {93543#true} is VALID [2022-04-28 15:18:01,572 INFO L290 TraceCheckUtils]: 66: Hoare triple {93543#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {93543#true} is VALID [2022-04-28 15:18:01,572 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-28 15:18:01,572 INFO L290 TraceCheckUtils]: 68: Hoare triple {93543#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {93543#true} is VALID [2022-04-28 15:18:01,572 INFO L290 TraceCheckUtils]: 69: Hoare triple {93543#true} assume #res.base == dest.base && #res.offset == dest.offset; {93543#true} is VALID [2022-04-28 15:18:01,572 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {93543#true} {93543#true} #1186#return; {93543#true} is VALID [2022-04-28 15:18:01,572 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-28 15:18:01,572 INFO L290 TraceCheckUtils]: 72: Hoare triple {93543#true} assume !(~s~0 != ~NP~0); {93543#true} is VALID [2022-04-28 15:18:01,572 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-28 15:18:01,572 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-28 15:18:01,573 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-28 15:18:01,573 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-28 15:18:01,573 INFO L290 TraceCheckUtils]: 77: Hoare triple {93543#true} assume 0 != ~compRegistered~0; {93543#true} is VALID [2022-04-28 15:18:01,574 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-28 15:18:01,574 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-28 15:18:01,574 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-28 15:18:01,574 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-28 15:18:01,575 INFO L290 TraceCheckUtils]: 82: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,575 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-28 15:18:01,575 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-28 15:18:01,575 INFO L290 TraceCheckUtils]: 85: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,575 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {93543#true} {93543#true} #1210#return; {93543#true} is VALID [2022-04-28 15:18:01,575 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-28 15:18:01,575 INFO L290 TraceCheckUtils]: 88: Hoare triple {93543#true} assume -1073741802 == ~compRetStatus~0; {93543#true} is VALID [2022-04-28 15:18:01,575 INFO L272 TraceCheckUtils]: 89: Hoare triple {93543#true} call stubMoreProcessingRequired(); {93724#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:01,575 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-28 15:18:01,575 INFO L290 TraceCheckUtils]: 91: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,575 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {93543#true} {93543#true} #1212#return; {93543#true} is VALID [2022-04-28 15:18:01,576 INFO L290 TraceCheckUtils]: 93: Hoare triple {93543#true} assume !(0 == ~__BLAST_NONDET~11); {93543#true} is VALID [2022-04-28 15:18:01,576 INFO L290 TraceCheckUtils]: 94: Hoare triple {93543#true} assume 1 == ~__BLAST_NONDET~11; {93543#true} is VALID [2022-04-28 15:18:01,577 INFO L290 TraceCheckUtils]: 95: Hoare triple {93543#true} ~returnVal2~0 := -1073741823; {93543#true} is VALID [2022-04-28 15:18:01,577 INFO L290 TraceCheckUtils]: 96: Hoare triple {93543#true} assume !(~s~0 == ~NP~0); {93543#true} is VALID [2022-04-28 15:18:01,577 INFO L290 TraceCheckUtils]: 97: Hoare triple {93543#true} assume ~s~0 == ~MPR1~0; {93543#true} is VALID [2022-04-28 15:18:01,577 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-28 15:18:01,577 INFO L290 TraceCheckUtils]: 99: Hoare triple {93543#true} #res := ~returnVal2~0; {93543#true} is VALID [2022-04-28 15:18:01,578 INFO L290 TraceCheckUtils]: 100: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,578 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {93543#true} {93543#true} #1192#return; {93543#true} is VALID [2022-04-28 15:18:01,578 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-28 15:18:01,578 INFO L290 TraceCheckUtils]: 103: Hoare triple {93543#true} assume !(259 == ~status~3); {93543#true} is VALID [2022-04-28 15:18:01,578 INFO L290 TraceCheckUtils]: 104: Hoare triple {93543#true} assume !(~status~3 >= 0); {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-28 15:18:01,578 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-28 15:18:01,579 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-28 15:18:01,579 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-28 15:18:01,579 INFO L290 TraceCheckUtils]: 108: Hoare triple {93543#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93543#true} is VALID [2022-04-28 15:18:01,579 INFO L290 TraceCheckUtils]: 109: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-28 15:18:01,580 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-28 15:18:01,580 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-28 15:18:01,580 INFO L290 TraceCheckUtils]: 112: Hoare triple {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} assume true; {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-28 15:18:01,581 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-28 15:18:01,581 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-28 15:18:01,582 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-28 15:18:01,582 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-28 15:18:01,582 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-28 15:18:01,582 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-28 15:18:01,583 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-28 15:18:01,583 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-28 15:18:01,583 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-28 15:18:01,583 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-28 15:18:01,584 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-28 15:18:01,584 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-28 15:18:01,584 INFO L290 TraceCheckUtils]: 125: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume 259 == ~status~5; {93544#false} is VALID [2022-04-28 15:18:01,584 INFO L272 TraceCheckUtils]: 126: Hoare triple {93544#false} call errorFn(); {93544#false} is VALID [2022-04-28 15:18:01,584 INFO L290 TraceCheckUtils]: 127: Hoare triple {93544#false} assume !false; {93544#false} is VALID [2022-04-28 15:18:01,589 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-28 15:18:01,589 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:18:01,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1973262995] [2022-04-28 15:18:01,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1973262995] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:18:01,589 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:18:01,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 15:18:01,589 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:18:01,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [967724892] [2022-04-28 15:18:01,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [967724892] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:18:01,589 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:18:01,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 15:18:01,590 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [982251189] [2022-04-28 15:18:01,590 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:18:01,590 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-28 15:18:01,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:18:01,590 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-28 15:18:01,679 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-28 15:18:01,679 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 15:18:01,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:18:01,680 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 15:18:01,680 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2022-04-28 15:18:01,680 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-28 15:18:03,813 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-28 15:18:10,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:18:10,980 INFO L93 Difference]: Finished difference Result 317 states and 348 transitions. [2022-04-28 15:18:10,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 15:18:10,980 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-28 15:18:10,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:18:10,981 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-28 15:18:10,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 197 transitions. [2022-04-28 15:18:10,982 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-28 15:18:10,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 197 transitions. [2022-04-28 15:18:10,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 197 transitions. [2022-04-28 15:18:11,187 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-28 15:18:11,192 INFO L225 Difference]: With dead ends: 317 [2022-04-28 15:18:11,192 INFO L226 Difference]: Without dead ends: 297 [2022-04-28 15:18:11,192 INFO L412 NwaCegarLoop]: 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-28 15:18:11,192 INFO L413 NwaCegarLoop]: 133 mSDtfsCounter, 264 mSDsluCounter, 285 mSDsCounter, 0 mSdLazyCounter, 851 mSolverCounterSat, 151 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.5s 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, 4.5s IncrementalHoareTripleChecker+Time [2022-04-28 15:18:11,193 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [266 Valid, 418 Invalid, 1003 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [151 Valid, 851 Invalid, 1 Unknown, 0 Unchecked, 4.5s Time] [2022-04-28 15:18:11,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2022-04-28 15:18:11,836 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 275. [2022-04-28 15:18:11,836 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:18:11,836 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-28 15:18:11,837 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-28 15:18:11,837 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-28 15:18:11,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:18:11,840 INFO L93 Difference]: Finished difference Result 297 states and 324 transitions. [2022-04-28 15:18:11,840 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 324 transitions. [2022-04-28 15:18:11,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:18:11,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:18:11,841 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-28 15:18:11,841 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-28 15:18:11,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:18:11,844 INFO L93 Difference]: Finished difference Result 297 states and 324 transitions. [2022-04-28 15:18:11,844 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 324 transitions. [2022-04-28 15:18:11,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:18:11,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:18:11,845 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:18:11,845 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:18:11,845 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-28 15:18:11,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 275 states to 275 states and 298 transitions. [2022-04-28 15:18:11,849 INFO L78 Accepts]: Start accepts. Automaton has 275 states and 298 transitions. Word has length 128 [2022-04-28 15:18:11,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:18:11,849 INFO L495 AbstractCegarLoop]: Abstraction has 275 states and 298 transitions. [2022-04-28 15:18:11,849 INFO L496 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-28 15:18:11,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 275 states and 298 transitions. [2022-04-28 15:18:12,652 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-28 15:18:12,652 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 298 transitions. [2022-04-28 15:18:12,652 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-04-28 15:18:12,652 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:18:12,652 INFO L195 NwaCegarLoop]: 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-28 15:18:12,653 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable38 [2022-04-28 15:18:12,653 INFO L420 AbstractCegarLoop]: === Iteration 40 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:18:12,653 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:18:12,653 INFO L85 PathProgramCache]: Analyzing trace with hash -792455600, now seen corresponding path program 1 times [2022-04-28 15:18:12,653 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:18:12,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1582185120] [2022-04-28 15:18:12,655 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:18:12,655 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:18:12,655 INFO L85 PathProgramCache]: Analyzing trace with hash -792455600, now seen corresponding path program 2 times [2022-04-28 15:18:12,655 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:18:12,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576063862] [2022-04-28 15:18:12,655 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:18:12,655 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:18:12,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,845 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:18:12,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,851 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-28 15:18:12,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,851 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1270#return; {95517#true} is VALID [2022-04-28 15:18:12,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:18:12,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,878 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-28 15:18:12,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,878 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1216#return; {95517#true} is VALID [2022-04-28 15:18:12,885 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:18:12,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,896 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:12,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,900 INFO L290 TraceCheckUtils]: 0: Hoare triple {95517#true} ~cond := #in~cond; {95517#true} is VALID [2022-04-28 15:18:12,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume !(0 == ~cond); {95517#true} is VALID [2022-04-28 15:18:12,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,900 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95517#true} {95517#true} #1254#return; {95517#true} is VALID [2022-04-28 15:18:12,900 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-28 15:18:12,900 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-28 15:18:12,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} ~cond := #in~cond; {95517#true} is VALID [2022-04-28 15:18:12,901 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume !(0 == ~cond); {95517#true} is VALID [2022-04-28 15:18:12,901 INFO L290 TraceCheckUtils]: 4: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,901 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {95517#true} {95517#true} #1254#return; {95517#true} is VALID [2022-04-28 15:18:12,901 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-28 15:18:12,901 INFO L290 TraceCheckUtils]: 7: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,901 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {95517#true} {95517#true} #1218#return; {95517#true} is VALID [2022-04-28 15:18:12,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:18:12,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:12,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,937 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-28 15:18:12,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~5; {95517#true} is VALID [2022-04-28 15:18:12,937 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-28 15:18:12,937 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,938 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {95517#true} {95517#true} #1176#return; {95517#true} is VALID [2022-04-28 15:18:12,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:18:12,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,943 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-28 15:18:12,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {95517#true} is VALID [2022-04-28 15:18:12,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {95517#true} is VALID [2022-04-28 15:18:12,944 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {95517#true} is VALID [2022-04-28 15:18:12,944 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {95517#true} {95517#true} #1178#return; {95517#true} is VALID [2022-04-28 15:18:12,944 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:18:12,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,949 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-28 15:18:12,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~2; {95517#true} is VALID [2022-04-28 15:18:12,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {95517#true} is VALID [2022-04-28 15:18:12,949 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,949 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {95517#true} {95517#true} #1180#return; {95517#true} is VALID [2022-04-28 15:18:12,949 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-28 15:18:12,950 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-28 15:18:12,950 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-28 15:18:12,950 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~5; {95517#true} is VALID [2022-04-28 15:18:12,950 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-28 15:18:12,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,951 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {95517#true} {95517#true} #1176#return; {95517#true} is VALID [2022-04-28 15:18:12,951 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-28 15:18:12,951 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-28 15:18:12,951 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-28 15:18:12,952 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-28 15:18:12,952 INFO L290 TraceCheckUtils]: 11: Hoare triple {95517#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {95517#true} is VALID [2022-04-28 15:18:12,952 INFO L290 TraceCheckUtils]: 12: Hoare triple {95517#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {95517#true} is VALID [2022-04-28 15:18:12,952 INFO L290 TraceCheckUtils]: 13: Hoare triple {95517#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {95517#true} is VALID [2022-04-28 15:18:12,952 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {95517#true} {95517#true} #1178#return; {95517#true} is VALID [2022-04-28 15:18:12,952 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-28 15:18:12,952 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-28 15:18:12,952 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-28 15:18:12,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~2; {95517#true} is VALID [2022-04-28 15:18:12,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {95517#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {95517#true} is VALID [2022-04-28 15:18:12,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,952 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {95517#true} {95517#true} #1180#return; {95517#true} is VALID [2022-04-28 15:18:12,952 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-28 15:18:12,952 INFO L290 TraceCheckUtils]: 23: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,953 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {95517#true} {95517#true} #1220#return; {95517#true} is VALID [2022-04-28 15:18:12,966 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:18:12,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:12,971 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-28 15:18:12,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:12,971 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1222#return; {95517#true} is VALID [2022-04-28 15:18:12,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-28 15:18:13,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:13,050 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-28 15:18:13,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:13,061 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-28 15:18:13,061 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {95517#true} is VALID [2022-04-28 15:18:13,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {95517#true} is VALID [2022-04-28 15:18:13,061 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-28 15:18:13,061 INFO L290 TraceCheckUtils]: 4: Hoare triple {95517#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {95517#true} is VALID [2022-04-28 15:18:13,061 INFO L290 TraceCheckUtils]: 5: Hoare triple {95517#true} assume #res.base == dest.base && #res.offset == dest.offset; {95517#true} is VALID [2022-04-28 15:18:13,061 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {95517#true} {95517#true} #1186#return; {95517#true} is VALID [2022-04-28 15:18:13,072 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-28 15:18:13,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:13,117 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:18:13,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:13,123 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:13,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:13,128 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-28 15:18:13,128 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,128 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-28 15:18:13,128 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-28 15:18:13,129 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-28 15:18:13,129 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-28 15:18:13,129 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,129 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-28 15:18:13,129 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-28 15:18:13,129 INFO L290 TraceCheckUtils]: 6: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,129 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {95517#true} {95517#true} #1210#return; {95517#true} is VALID [2022-04-28 15:18:13,139 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:18:13,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:13,143 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-28 15:18:13,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,144 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1212#return; {95517#true} is VALID [2022-04-28 15:18:13,144 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-28 15:18:13,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume 0 != ~compRegistered~0; {95517#true} is VALID [2022-04-28 15:18:13,145 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-28 15:18:13,145 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-28 15:18:13,145 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-28 15:18:13,145 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-28 15:18:13,145 INFO L290 TraceCheckUtils]: 6: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,146 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-28 15:18:13,146 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-28 15:18:13,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,146 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {95517#true} {95517#true} #1210#return; {95517#true} is VALID [2022-04-28 15:18:13,146 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-28 15:18:13,146 INFO L290 TraceCheckUtils]: 12: Hoare triple {95517#true} assume -1073741802 == ~compRetStatus~0; {95517#true} is VALID [2022-04-28 15:18:13,146 INFO L272 TraceCheckUtils]: 13: Hoare triple {95517#true} call stubMoreProcessingRequired(); {95701#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:13,146 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-28 15:18:13,146 INFO L290 TraceCheckUtils]: 15: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,146 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {95517#true} {95517#true} #1212#return; {95517#true} is VALID [2022-04-28 15:18:13,147 INFO L290 TraceCheckUtils]: 17: Hoare triple {95517#true} assume !(0 == ~__BLAST_NONDET~11); {95517#true} is VALID [2022-04-28 15:18:13,147 INFO L290 TraceCheckUtils]: 18: Hoare triple {95517#true} assume 1 == ~__BLAST_NONDET~11; {95517#true} is VALID [2022-04-28 15:18:13,147 INFO L290 TraceCheckUtils]: 19: Hoare triple {95517#true} ~returnVal2~0 := -1073741823; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-28 15:18:13,147 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-28 15:18:13,148 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-28 15:18:13,148 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-28 15:18:13,148 INFO L290 TraceCheckUtils]: 23: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-28 15:18:13,148 INFO L290 TraceCheckUtils]: 24: Hoare triple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-28 15:18:13,149 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-28 15:18:13,149 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-28 15:18:13,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:13,154 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-28 15:18:13,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {95517#true} is VALID [2022-04-28 15:18:13,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95517#true} {95518#false} #1196#return; {95518#false} is VALID [2022-04-28 15:18:13,154 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-28 15:18:13,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {95517#true} is VALID [2022-04-28 15:18:13,154 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-28 15:18:13,155 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-28 15:18:13,155 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-28 15:18:13,155 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {95517#true} is VALID [2022-04-28 15:18:13,155 INFO L290 TraceCheckUtils]: 6: Hoare triple {95517#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {95517#true} is VALID [2022-04-28 15:18:13,155 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-28 15:18:13,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {95517#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {95517#true} is VALID [2022-04-28 15:18:13,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {95517#true} assume #res.base == dest.base && #res.offset == dest.offset; {95517#true} is VALID [2022-04-28 15:18:13,155 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {95517#true} {95517#true} #1186#return; {95517#true} is VALID [2022-04-28 15:18:13,155 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-28 15:18:13,156 INFO L290 TraceCheckUtils]: 12: Hoare triple {95517#true} assume !(~s~0 != ~NP~0); {95517#true} is VALID [2022-04-28 15:18:13,156 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-28 15:18:13,156 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-28 15:18:13,156 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-28 15:18:13,157 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-28 15:18:13,157 INFO L290 TraceCheckUtils]: 17: Hoare triple {95517#true} assume 0 != ~compRegistered~0; {95517#true} is VALID [2022-04-28 15:18:13,157 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-28 15:18:13,157 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-28 15:18:13,158 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-28 15:18:13,158 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-28 15:18:13,158 INFO L290 TraceCheckUtils]: 22: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,159 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-28 15:18:13,159 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-28 15:18:13,159 INFO L290 TraceCheckUtils]: 25: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,159 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {95517#true} {95517#true} #1210#return; {95517#true} is VALID [2022-04-28 15:18:13,159 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-28 15:18:13,159 INFO L290 TraceCheckUtils]: 28: Hoare triple {95517#true} assume -1073741802 == ~compRetStatus~0; {95517#true} is VALID [2022-04-28 15:18:13,159 INFO L272 TraceCheckUtils]: 29: Hoare triple {95517#true} call stubMoreProcessingRequired(); {95701#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:13,159 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-28 15:18:13,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,159 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {95517#true} {95517#true} #1212#return; {95517#true} is VALID [2022-04-28 15:18:13,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {95517#true} assume !(0 == ~__BLAST_NONDET~11); {95517#true} is VALID [2022-04-28 15:18:13,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {95517#true} assume 1 == ~__BLAST_NONDET~11; {95517#true} is VALID [2022-04-28 15:18:13,160 INFO L290 TraceCheckUtils]: 35: Hoare triple {95517#true} ~returnVal2~0 := -1073741823; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-28 15:18:13,160 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-28 15:18:13,160 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-28 15:18:13,161 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-28 15:18:13,161 INFO L290 TraceCheckUtils]: 39: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-28 15:18:13,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-28 15:18:13,162 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-28 15:18:13,162 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-28 15:18:13,163 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-28 15:18:13,163 INFO L290 TraceCheckUtils]: 44: Hoare triple {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume ~status~3 >= 0; {95518#false} is VALID [2022-04-28 15:18:13,163 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-28 15:18:13,163 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-28 15:18:13,163 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-28 15:18:13,163 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-28 15:18:13,163 INFO L290 TraceCheckUtils]: 49: Hoare triple {95517#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {95517#true} is VALID [2022-04-28 15:18:13,164 INFO L290 TraceCheckUtils]: 50: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,164 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {95517#true} {95518#false} #1196#return; {95518#false} is VALID [2022-04-28 15:18:13,164 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-28 15:18:13,164 INFO L290 TraceCheckUtils]: 53: Hoare triple {95518#false} assume true; {95518#false} is VALID [2022-04-28 15:18:13,164 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {95518#false} {95517#true} #1230#return; {95617#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-28 15:18:13,165 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-28 15:18:13,165 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-28 15:18:13,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,165 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95517#true} {95517#true} #1270#return; {95517#true} is VALID [2022-04-28 15:18:13,165 INFO L272 TraceCheckUtils]: 4: Hoare triple {95517#true} call #t~ret213 := main(); {95517#true} is VALID [2022-04-28 15:18:13,165 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-28 15:18:13,166 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-28 15:18:13,166 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-28 15:18:13,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,166 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {95517#true} {95517#true} #1216#return; {95517#true} is VALID [2022-04-28 15:18:13,167 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-28 15:18:13,167 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-28 15:18:13,167 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-28 15:18:13,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {95517#true} ~cond := #in~cond; {95517#true} is VALID [2022-04-28 15:18:13,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {95517#true} assume !(0 == ~cond); {95517#true} is VALID [2022-04-28 15:18:13,168 INFO L290 TraceCheckUtils]: 15: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,168 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {95517#true} {95517#true} #1254#return; {95517#true} is VALID [2022-04-28 15:18:13,168 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-28 15:18:13,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,168 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {95517#true} {95517#true} #1218#return; {95517#true} is VALID [2022-04-28 15:18:13,168 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-28 15:18:13,168 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-28 15:18:13,168 INFO L290 TraceCheckUtils]: 22: Hoare triple {95517#true} assume !(0 == ~irp_choice~0); {95517#true} is VALID [2022-04-28 15:18:13,169 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-28 15:18:13,169 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-28 15:18:13,170 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-28 15:18:13,170 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-28 15:18:13,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~5; {95517#true} is VALID [2022-04-28 15:18:13,170 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-28 15:18:13,170 INFO L290 TraceCheckUtils]: 29: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,170 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {95517#true} {95517#true} #1176#return; {95517#true} is VALID [2022-04-28 15:18:13,170 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-28 15:18:13,170 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-28 15:18:13,171 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-28 15:18:13,171 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-28 15:18:13,171 INFO L290 TraceCheckUtils]: 35: Hoare triple {95517#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#t~loopctr214 := 1 + #t~loopctr214; {95517#true} is VALID [2022-04-28 15:18:13,171 INFO L290 TraceCheckUtils]: 36: Hoare triple {95517#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {95517#true} is VALID [2022-04-28 15:18:13,171 INFO L290 TraceCheckUtils]: 37: Hoare triple {95517#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {95517#true} is VALID [2022-04-28 15:18:13,171 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {95517#true} {95517#true} #1178#return; {95517#true} is VALID [2022-04-28 15:18:13,171 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-28 15:18:13,172 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-28 15:18:13,172 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-28 15:18:13,172 INFO L290 TraceCheckUtils]: 42: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~2; {95517#true} is VALID [2022-04-28 15:18:13,172 INFO L290 TraceCheckUtils]: 43: Hoare triple {95517#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {95517#true} is VALID [2022-04-28 15:18:13,172 INFO L290 TraceCheckUtils]: 44: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,172 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {95517#true} {95517#true} #1180#return; {95517#true} is VALID [2022-04-28 15:18:13,172 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-28 15:18:13,172 INFO L290 TraceCheckUtils]: 47: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,172 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {95517#true} {95517#true} #1220#return; {95517#true} is VALID [2022-04-28 15:18:13,172 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-28 15:18:13,173 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-28 15:18:13,173 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-28 15:18:13,173 INFO L290 TraceCheckUtils]: 52: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,173 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {95517#true} {95517#true} #1222#return; {95517#true} is VALID [2022-04-28 15:18:13,173 INFO L290 TraceCheckUtils]: 54: Hoare triple {95517#true} assume !!(~status~5 >= 0); {95517#true} is VALID [2022-04-28 15:18:13,173 INFO L290 TraceCheckUtils]: 55: Hoare triple {95517#true} assume !(0 == ~__BLAST_NONDET~0); {95517#true} is VALID [2022-04-28 15:18:13,173 INFO L290 TraceCheckUtils]: 56: Hoare triple {95517#true} assume !(1 == ~__BLAST_NONDET~0); {95517#true} is VALID [2022-04-28 15:18:13,173 INFO L290 TraceCheckUtils]: 57: Hoare triple {95517#true} assume !(2 == ~__BLAST_NONDET~0); {95517#true} is VALID [2022-04-28 15:18:13,173 INFO L290 TraceCheckUtils]: 58: Hoare triple {95517#true} assume 3 == ~__BLAST_NONDET~0; {95517#true} is VALID [2022-04-28 15:18:13,174 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-28 15:18:13,174 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-28 15:18:13,174 INFO L290 TraceCheckUtils]: 61: Hoare triple {95517#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {95517#true} is VALID [2022-04-28 15:18:13,175 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-28 15:18:13,175 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-28 15:18:13,175 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-28 15:18:13,176 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {95517#true} is VALID [2022-04-28 15:18:13,176 INFO L290 TraceCheckUtils]: 66: Hoare triple {95517#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {95517#true} is VALID [2022-04-28 15:18:13,176 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-28 15:18:13,176 INFO L290 TraceCheckUtils]: 68: Hoare triple {95517#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {95517#true} is VALID [2022-04-28 15:18:13,176 INFO L290 TraceCheckUtils]: 69: Hoare triple {95517#true} assume #res.base == dest.base && #res.offset == dest.offset; {95517#true} is VALID [2022-04-28 15:18:13,176 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {95517#true} {95517#true} #1186#return; {95517#true} is VALID [2022-04-28 15:18:13,176 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-28 15:18:13,176 INFO L290 TraceCheckUtils]: 72: Hoare triple {95517#true} assume !(~s~0 != ~NP~0); {95517#true} is VALID [2022-04-28 15:18:13,176 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-28 15:18:13,176 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-28 15:18:13,177 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-28 15:18:13,177 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-28 15:18:13,177 INFO L290 TraceCheckUtils]: 77: Hoare triple {95517#true} assume 0 != ~compRegistered~0; {95517#true} is VALID [2022-04-28 15:18:13,178 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-28 15:18:13,178 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-28 15:18:13,178 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-28 15:18:13,178 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-28 15:18:13,178 INFO L290 TraceCheckUtils]: 82: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,179 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-28 15:18:13,179 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-28 15:18:13,179 INFO L290 TraceCheckUtils]: 85: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,179 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95517#true} {95517#true} #1210#return; {95517#true} is VALID [2022-04-28 15:18:13,179 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-28 15:18:13,179 INFO L290 TraceCheckUtils]: 88: Hoare triple {95517#true} assume -1073741802 == ~compRetStatus~0; {95517#true} is VALID [2022-04-28 15:18:13,179 INFO L272 TraceCheckUtils]: 89: Hoare triple {95517#true} call stubMoreProcessingRequired(); {95701#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:13,179 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-28 15:18:13,179 INFO L290 TraceCheckUtils]: 91: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,179 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {95517#true} {95517#true} #1212#return; {95517#true} is VALID [2022-04-28 15:18:13,179 INFO L290 TraceCheckUtils]: 93: Hoare triple {95517#true} assume !(0 == ~__BLAST_NONDET~11); {95517#true} is VALID [2022-04-28 15:18:13,179 INFO L290 TraceCheckUtils]: 94: Hoare triple {95517#true} assume 1 == ~__BLAST_NONDET~11; {95517#true} is VALID [2022-04-28 15:18:13,180 INFO L290 TraceCheckUtils]: 95: Hoare triple {95517#true} ~returnVal2~0 := -1073741823; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-28 15:18:13,180 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-28 15:18:13,180 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-28 15:18:13,181 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-28 15:18:13,181 INFO L290 TraceCheckUtils]: 99: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-28 15:18:13,181 INFO L290 TraceCheckUtils]: 100: Hoare triple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-28 15:18:13,182 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-28 15:18:13,182 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-28 15:18:13,183 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-28 15:18:13,183 INFO L290 TraceCheckUtils]: 104: Hoare triple {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume ~status~3 >= 0; {95518#false} is VALID [2022-04-28 15:18:13,183 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-28 15:18:13,183 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-28 15:18:13,183 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-28 15:18:13,183 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-28 15:18:13,183 INFO L290 TraceCheckUtils]: 109: Hoare triple {95517#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {95517#true} is VALID [2022-04-28 15:18:13,183 INFO L290 TraceCheckUtils]: 110: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-28 15:18:13,184 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {95517#true} {95518#false} #1196#return; {95518#false} is VALID [2022-04-28 15:18:13,184 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-28 15:18:13,184 INFO L290 TraceCheckUtils]: 113: Hoare triple {95518#false} assume true; {95518#false} is VALID [2022-04-28 15:18:13,184 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {95518#false} {95517#true} #1230#return; {95617#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-28 15:18:13,184 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-28 15:18:13,184 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-28 15:18:13,185 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-28 15:18:13,185 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-28 15:18:13,185 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-28 15:18:13,185 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-28 15:18:13,186 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-28 15:18:13,186 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-28 15:18:13,186 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-28 15:18:13,187 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-28 15:18:13,187 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-28 15:18:13,187 INFO L290 TraceCheckUtils]: 126: Hoare triple {95618#(not (= main_~status~5 259))} assume 259 == ~status~5; {95518#false} is VALID [2022-04-28 15:18:13,187 INFO L272 TraceCheckUtils]: 127: Hoare triple {95518#false} call errorFn(); {95518#false} is VALID [2022-04-28 15:18:13,187 INFO L290 TraceCheckUtils]: 128: Hoare triple {95518#false} assume !false; {95518#false} is VALID [2022-04-28 15:18:13,188 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-28 15:18:13,188 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:18:13,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1576063862] [2022-04-28 15:18:13,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1576063862] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:18:13,188 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:18:13,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 15:18:13,188 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 15:18:13,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1582185120] [2022-04-28 15:18:13,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1582185120] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 15:18:13,188 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 15:18:13,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 15:18:13,188 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1408197864] [2022-04-28 15:18:13,188 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 15:18:13,189 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-28 15:18:13,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 15:18:13,189 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-28 15:18:13,280 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-28 15:18:13,281 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 15:18:13,281 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 15:18:13,281 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 15:18:13,281 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-04-28 15:18:13,281 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-28 15:18:15,437 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-28 15:18:23,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:18:23,935 INFO L93 Difference]: Finished difference Result 317 states and 344 transitions. [2022-04-28 15:18:23,935 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 15:18:23,935 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-28 15:18:23,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 15:18:23,936 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-28 15:18:23,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 207 transitions. [2022-04-28 15:18:23,937 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-28 15:18:23,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 207 transitions. [2022-04-28 15:18:23,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 207 transitions. [2022-04-28 15:18:24,140 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-28 15:18:24,144 INFO L225 Difference]: With dead ends: 317 [2022-04-28 15:18:24,144 INFO L226 Difference]: Without dead ends: 247 [2022-04-28 15:18:24,144 INFO L412 NwaCegarLoop]: 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-28 15:18:24,144 INFO L413 NwaCegarLoop]: 125 mSDtfsCounter, 137 mSDsluCounter, 390 mSDsCounter, 0 mSdLazyCounter, 1023 mSolverCounterSat, 86 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.5s 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, 5.5s IncrementalHoareTripleChecker+Time [2022-04-28 15:18:24,145 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [139 Valid, 515 Invalid, 1110 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [86 Valid, 1023 Invalid, 1 Unknown, 0 Unchecked, 5.5s Time] [2022-04-28 15:18:24,145 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 247 states. [2022-04-28 15:18:24,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 247 to 237. [2022-04-28 15:18:24,694 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 15:18:24,695 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-28 15:18:24,695 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-28 15:18:24,695 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-28 15:18:24,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:18:24,698 INFO L93 Difference]: Finished difference Result 247 states and 264 transitions. [2022-04-28 15:18:24,698 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 264 transitions. [2022-04-28 15:18:24,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:18:24,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:18:24,698 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-28 15:18:24,698 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-28 15:18:24,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 15:18:24,701 INFO L93 Difference]: Finished difference Result 247 states and 264 transitions. [2022-04-28 15:18:24,701 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 264 transitions. [2022-04-28 15:18:24,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 15:18:24,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 15:18:24,701 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 15:18:24,701 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 15:18:24,701 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-28 15:18:24,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 237 states to 237 states and 252 transitions. [2022-04-28 15:18:24,704 INFO L78 Accepts]: Start accepts. Automaton has 237 states and 252 transitions. Word has length 129 [2022-04-28 15:18:24,704 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 15:18:24,704 INFO L495 AbstractCegarLoop]: Abstraction has 237 states and 252 transitions. [2022-04-28 15:18:24,705 INFO L496 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-28 15:18:24,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 237 states and 252 transitions. [2022-04-28 15:18:25,374 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-28 15:18:25,374 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 252 transitions. [2022-04-28 15:18:25,374 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-28 15:18:25,374 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 15:18:25,374 INFO L195 NwaCegarLoop]: 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-28 15:18:25,375 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable39 [2022-04-28 15:18:25,375 INFO L420 AbstractCegarLoop]: === Iteration 41 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 15:18:25,375 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 15:18:25,375 INFO L85 PathProgramCache]: Analyzing trace with hash -1183185629, now seen corresponding path program 1 times [2022-04-28 15:18:25,375 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 15:18:25,375 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1985722040] [2022-04-28 15:18:25,377 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 15:18:25,377 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 15:18:25,377 INFO L85 PathProgramCache]: Analyzing trace with hash -1183185629, now seen corresponding path program 2 times [2022-04-28 15:18:25,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 15:18:25,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [389787216] [2022-04-28 15:18:25,377 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 15:18:25,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 15:18:25,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,636 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 15:18:25,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,642 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-28 15:18:25,642 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,642 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97319#true} #1270#return; {97319#true} is VALID [2022-04-28 15:18:25,661 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 15:18:25,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,685 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-28 15:18:25,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,685 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97319#true} #1216#return; {97319#true} is VALID [2022-04-28 15:18:25,690 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-28 15:18:25,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:25,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,706 INFO L290 TraceCheckUtils]: 0: Hoare triple {97319#true} ~cond := #in~cond; {97319#true} is VALID [2022-04-28 15:18:25,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume !(0 == ~cond); {97319#true} is VALID [2022-04-28 15:18:25,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {97319#true} {97319#true} #1254#return; {97319#true} is VALID [2022-04-28 15:18:25,706 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-28 15:18:25,706 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-28 15:18:25,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} ~cond := #in~cond; {97319#true} is VALID [2022-04-28 15:18:25,706 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume !(0 == ~cond); {97319#true} is VALID [2022-04-28 15:18:25,706 INFO L290 TraceCheckUtils]: 4: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,707 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {97319#true} {97319#true} #1254#return; {97319#true} is VALID [2022-04-28 15:18:25,707 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-28 15:18:25,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,707 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {97319#true} {97319#true} #1218#return; {97319#true} is VALID [2022-04-28 15:18:25,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-28 15:18:25,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,746 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:25,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,754 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-28 15:18:25,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~5; {97319#true} is VALID [2022-04-28 15:18:25,755 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-28 15:18:25,755 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,755 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {97319#true} {97319#true} #1176#return; {97319#true} is VALID [2022-04-28 15:18:25,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 15:18:25,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,819 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-28 15:18:25,820 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:18:25,821 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-28 15:18:25,821 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-28 15:18:25,822 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-28 15:18:25,822 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 15:18:25,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,827 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-28 15:18:25,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~2; {97319#true} is VALID [2022-04-28 15:18:25,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {97319#true} is VALID [2022-04-28 15:18:25,828 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,828 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {97319#true} {97320#false} #1180#return; {97320#false} is VALID [2022-04-28 15:18:25,828 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-28 15:18:25,829 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-28 15:18:25,829 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-28 15:18:25,829 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~5; {97319#true} is VALID [2022-04-28 15:18:25,829 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-28 15:18:25,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,829 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {97319#true} {97319#true} #1176#return; {97319#true} is VALID [2022-04-28 15:18:25,830 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-28 15:18:25,830 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-28 15:18:25,830 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-28 15:18:25,831 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-28 15:18:25,832 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:18:25,833 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-28 15:18:25,833 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-28 15:18:25,834 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-28 15:18:25,834 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-28 15:18:25,834 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-28 15:18:25,834 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-28 15:18:25,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~2; {97319#true} is VALID [2022-04-28 15:18:25,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {97319#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {97319#true} is VALID [2022-04-28 15:18:25,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,834 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {97319#true} {97320#false} #1180#return; {97320#false} is VALID [2022-04-28 15:18:25,834 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-28 15:18:25,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {97320#false} assume true; {97320#false} is VALID [2022-04-28 15:18:25,834 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {97320#false} {97319#true} #1220#return; {97320#false} is VALID [2022-04-28 15:18:25,850 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 15:18:25,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,855 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-28 15:18:25,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,856 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97320#false} #1222#return; {97320#false} is VALID [2022-04-28 15:18:25,879 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-28 15:18:25,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-28 15:18:25,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,921 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-28 15:18:25,921 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {97319#true} is VALID [2022-04-28 15:18:25,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {97319#true} is VALID [2022-04-28 15:18:25,921 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-28 15:18:25,921 INFO L290 TraceCheckUtils]: 4: Hoare triple {97319#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {97319#true} is VALID [2022-04-28 15:18:25,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} assume #res.base == dest.base && #res.offset == dest.offset; {97319#true} is VALID [2022-04-28 15:18:25,921 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {97319#true} {97319#true} #1186#return; {97319#true} is VALID [2022-04-28 15:18:25,931 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-28 15:18:25,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-28 15:18:25,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 15:18:25,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,959 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-28 15:18:25,959 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,960 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-28 15:18:25,960 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-28 15:18:25,960 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-28 15:18:25,960 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-28 15:18:25,960 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,960 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-28 15:18:25,960 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-28 15:18:25,961 INFO L290 TraceCheckUtils]: 6: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,961 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {97319#true} {97319#true} #1210#return; {97319#true} is VALID [2022-04-28 15:18:25,969 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 15:18:25,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,973 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-28 15:18:25,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,974 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97319#true} #1212#return; {97319#true} is VALID [2022-04-28 15:18:25,974 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-28 15:18:25,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume 0 != ~compRegistered~0; {97319#true} is VALID [2022-04-28 15:18:25,975 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-28 15:18:25,975 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-28 15:18:25,975 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-28 15:18:25,975 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-28 15:18:25,975 INFO L290 TraceCheckUtils]: 6: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,975 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-28 15:18:25,975 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-28 15:18:25,976 INFO L290 TraceCheckUtils]: 9: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,976 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {97319#true} {97319#true} #1210#return; {97319#true} is VALID [2022-04-28 15:18:25,976 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-28 15:18:25,976 INFO L290 TraceCheckUtils]: 12: Hoare triple {97319#true} assume -1073741802 == ~compRetStatus~0; {97319#true} is VALID [2022-04-28 15:18:25,976 INFO L272 TraceCheckUtils]: 13: Hoare triple {97319#true} call stubMoreProcessingRequired(); {97516#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:25,976 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-28 15:18:25,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,976 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {97319#true} {97319#true} #1212#return; {97319#true} is VALID [2022-04-28 15:18:25,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {97319#true} assume !(0 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-28 15:18:25,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {97319#true} assume !(1 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-28 15:18:25,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {97319#true} ~returnVal2~0 := 259; {97319#true} is VALID [2022-04-28 15:18:25,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {97319#true} assume !(~s~0 == ~NP~0); {97319#true} is VALID [2022-04-28 15:18:25,977 INFO L290 TraceCheckUtils]: 21: Hoare triple {97319#true} assume ~s~0 == ~MPR1~0; {97319#true} is VALID [2022-04-28 15:18:25,977 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-28 15:18:25,977 INFO L290 TraceCheckUtils]: 23: Hoare triple {97319#true} #res := ~returnVal2~0; {97319#true} is VALID [2022-04-28 15:18:25,977 INFO L290 TraceCheckUtils]: 24: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,977 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {97319#true} {97319#true} #1192#return; {97319#true} is VALID [2022-04-28 15:18:25,988 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-28 15:18:25,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,993 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-28 15:18:25,994 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume ~s~0 == ~MPR3~0; {97319#true} is VALID [2022-04-28 15:18:25,994 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-28 15:18:25,994 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~13; {97319#true} is VALID [2022-04-28 15:18:25,994 INFO L290 TraceCheckUtils]: 4: Hoare triple {97319#true} #res := 0; {97319#true} is VALID [2022-04-28 15:18:25,994 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,994 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {97319#true} {97319#true} #1194#return; {97319#true} is VALID [2022-04-28 15:18:25,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 56 [2022-04-28 15:18:25,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 15:18:25,999 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-28 15:18:25,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {97319#true} is VALID [2022-04-28 15:18:25,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:25,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {97319#true} {97319#true} #1196#return; {97319#true} is VALID [2022-04-28 15:18:25,999 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-28 15:18:25,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {97319#true} is VALID [2022-04-28 15:18:25,999 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-28 15:18:26,000 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-28 15:18:26,000 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-28 15:18:26,000 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {97319#true} is VALID [2022-04-28 15:18:26,000 INFO L290 TraceCheckUtils]: 6: Hoare triple {97319#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {97319#true} is VALID [2022-04-28 15:18:26,000 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-28 15:18:26,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {97319#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {97319#true} is VALID [2022-04-28 15:18:26,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {97319#true} assume #res.base == dest.base && #res.offset == dest.offset; {97319#true} is VALID [2022-04-28 15:18:26,000 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {97319#true} {97319#true} #1186#return; {97319#true} is VALID [2022-04-28 15:18:26,000 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-28 15:18:26,000 INFO L290 TraceCheckUtils]: 12: Hoare triple {97319#true} assume !(~s~0 != ~NP~0); {97319#true} is VALID [2022-04-28 15:18:26,001 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-28 15:18:26,001 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-28 15:18:26,001 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-28 15:18:26,001 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-28 15:18:26,001 INFO L290 TraceCheckUtils]: 17: Hoare triple {97319#true} assume 0 != ~compRegistered~0; {97319#true} is VALID [2022-04-28 15:18:26,002 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-28 15:18:26,002 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-28 15:18:26,003 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-28 15:18:26,003 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-28 15:18:26,003 INFO L290 TraceCheckUtils]: 22: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,003 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-28 15:18:26,003 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-28 15:18:26,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,003 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {97319#true} {97319#true} #1210#return; {97319#true} is VALID [2022-04-28 15:18:26,003 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-28 15:18:26,003 INFO L290 TraceCheckUtils]: 28: Hoare triple {97319#true} assume -1073741802 == ~compRetStatus~0; {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L272 TraceCheckUtils]: 29: Hoare triple {97319#true} call stubMoreProcessingRequired(); {97516#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:26,004 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-28 15:18:26,004 INFO L290 TraceCheckUtils]: 31: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {97319#true} {97319#true} #1212#return; {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L290 TraceCheckUtils]: 33: Hoare triple {97319#true} assume !(0 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L290 TraceCheckUtils]: 34: Hoare triple {97319#true} assume !(1 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L290 TraceCheckUtils]: 35: Hoare triple {97319#true} ~returnVal2~0 := 259; {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L290 TraceCheckUtils]: 36: Hoare triple {97319#true} assume !(~s~0 == ~NP~0); {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L290 TraceCheckUtils]: 37: Hoare triple {97319#true} assume ~s~0 == ~MPR1~0; {97319#true} is VALID [2022-04-28 15:18:26,004 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-28 15:18:26,004 INFO L290 TraceCheckUtils]: 39: Hoare triple {97319#true} #res := ~returnVal2~0; {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,004 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {97319#true} {97319#true} #1192#return; {97319#true} is VALID [2022-04-28 15:18:26,004 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-28 15:18:26,005 INFO L290 TraceCheckUtils]: 43: Hoare triple {97319#true} assume 259 == ~status~3; {97319#true} is VALID [2022-04-28 15:18:26,005 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-28 15:18:26,005 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-28 15:18:26,005 INFO L290 TraceCheckUtils]: 46: Hoare triple {97319#true} assume ~s~0 == ~MPR3~0; {97319#true} is VALID [2022-04-28 15:18:26,005 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-28 15:18:26,005 INFO L290 TraceCheckUtils]: 48: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~13; {97319#true} is VALID [2022-04-28 15:18:26,006 INFO L290 TraceCheckUtils]: 49: Hoare triple {97319#true} #res := 0; {97319#true} is VALID [2022-04-28 15:18:26,006 INFO L290 TraceCheckUtils]: 50: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,006 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {97319#true} {97319#true} #1194#return; {97319#true} is VALID [2022-04-28 15:18:26,006 INFO L290 TraceCheckUtils]: 52: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret110 && #t~ret110 <= 9223372036854775807;havoc #t~ret110; {97319#true} is VALID [2022-04-28 15:18:26,006 INFO L290 TraceCheckUtils]: 53: Hoare triple {97319#true} assume ~status~3 >= 0; {97319#true} is VALID [2022-04-28 15:18:26,006 INFO L290 TraceCheckUtils]: 54: Hoare triple {97319#true} assume !(~myStatus~0 >= 0); {97319#true} is VALID [2022-04-28 15:18:26,006 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-28 15:18:26,006 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-28 15:18:26,006 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-28 15:18:26,007 INFO L290 TraceCheckUtils]: 58: Hoare triple {97319#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {97319#true} is VALID [2022-04-28 15:18:26,007 INFO L290 TraceCheckUtils]: 59: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,007 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {97319#true} {97319#true} #1196#return; {97319#true} is VALID [2022-04-28 15:18:26,007 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-28 15:18:26,007 INFO L290 TraceCheckUtils]: 62: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,007 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {97319#true} {97320#false} #1230#return; {97320#false} is VALID [2022-04-28 15:18:26,008 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-28 15:18:26,008 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-28 15:18:26,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {97319#true} {97319#true} #1270#return; {97319#true} is VALID [2022-04-28 15:18:26,008 INFO L272 TraceCheckUtils]: 4: Hoare triple {97319#true} call #t~ret213 := main(); {97319#true} is VALID [2022-04-28 15:18:26,008 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-28 15:18:26,009 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-28 15:18:26,009 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-28 15:18:26,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,009 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {97319#true} {97319#true} #1216#return; {97319#true} is VALID [2022-04-28 15:18:26,010 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-28 15:18:26,010 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-28 15:18:26,010 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-28 15:18:26,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {97319#true} ~cond := #in~cond; {97319#true} is VALID [2022-04-28 15:18:26,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {97319#true} assume !(0 == ~cond); {97319#true} is VALID [2022-04-28 15:18:26,010 INFO L290 TraceCheckUtils]: 15: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,010 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {97319#true} {97319#true} #1254#return; {97319#true} is VALID [2022-04-28 15:18:26,010 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-28 15:18:26,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,011 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {97319#true} {97319#true} #1218#return; {97319#true} is VALID [2022-04-28 15:18:26,011 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-28 15:18:26,011 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-28 15:18:26,011 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-28 15:18:26,011 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-28 15:18:26,012 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-28 15:18:26,012 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-28 15:18:26,013 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-28 15:18:26,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~5; {97319#true} is VALID [2022-04-28 15:18:26,013 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-28 15:18:26,013 INFO L290 TraceCheckUtils]: 29: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,013 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {97319#true} {97319#true} #1176#return; {97319#true} is VALID [2022-04-28 15:18:26,013 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-28 15:18:26,013 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-28 15:18:26,014 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-28 15:18:26,014 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-28 15:18:26,015 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_$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];#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#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-28 15:18:26,016 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-28 15:18:26,016 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-28 15:18:26,017 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-28 15:18:26,017 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-28 15:18:26,017 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-28 15:18:26,017 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-28 15:18:26,017 INFO L290 TraceCheckUtils]: 42: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~2; {97319#true} is VALID [2022-04-28 15:18:26,017 INFO L290 TraceCheckUtils]: 43: Hoare triple {97319#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {97319#true} is VALID [2022-04-28 15:18:26,017 INFO L290 TraceCheckUtils]: 44: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,017 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {97319#true} {97320#false} #1180#return; {97320#false} is VALID [2022-04-28 15:18:26,017 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-28 15:18:26,017 INFO L290 TraceCheckUtils]: 47: Hoare triple {97320#false} assume true; {97320#false} is VALID [2022-04-28 15:18:26,017 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {97320#false} {97319#true} #1220#return; {97320#false} is VALID [2022-04-28 15:18:26,017 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-28 15:18:26,017 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-28 15:18:26,017 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-28 15:18:26,018 INFO L290 TraceCheckUtils]: 52: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,018 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {97319#true} {97320#false} #1222#return; {97320#false} is VALID [2022-04-28 15:18:26,018 INFO L290 TraceCheckUtils]: 54: Hoare triple {97320#false} assume !!(~status~5 >= 0); {97320#false} is VALID [2022-04-28 15:18:26,018 INFO L290 TraceCheckUtils]: 55: Hoare triple {97320#false} assume !(0 == ~__BLAST_NONDET~0); {97320#false} is VALID [2022-04-28 15:18:26,018 INFO L290 TraceCheckUtils]: 56: Hoare triple {97320#false} assume !(1 == ~__BLAST_NONDET~0); {97320#false} is VALID [2022-04-28 15:18:26,018 INFO L290 TraceCheckUtils]: 57: Hoare triple {97320#false} assume !(2 == ~__BLAST_NONDET~0); {97320#false} is VALID [2022-04-28 15:18:26,018 INFO L290 TraceCheckUtils]: 58: Hoare triple {97320#false} assume 3 == ~__BLAST_NONDET~0; {97320#false} is VALID [2022-04-28 15:18:26,018 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-28 15:18:26,018 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-28 15:18:26,018 INFO L290 TraceCheckUtils]: 61: Hoare triple {97319#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {97319#true} is VALID [2022-04-28 15:18:26,018 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-28 15:18:26,019 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-28 15:18:26,019 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-28 15:18:26,019 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, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 1);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, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 8);#t~loopctr215 := 1 + #t~loopctr215; {97319#true} is VALID [2022-04-28 15:18:26,019 INFO L290 TraceCheckUtils]: 66: Hoare triple {97319#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {97319#true} is VALID [2022-04-28 15:18:26,019 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-28 15:18:26,019 INFO L290 TraceCheckUtils]: 68: Hoare triple {97319#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {97319#true} is VALID [2022-04-28 15:18:26,019 INFO L290 TraceCheckUtils]: 69: Hoare triple {97319#true} assume #res.base == dest.base && #res.offset == dest.offset; {97319#true} is VALID [2022-04-28 15:18:26,019 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {97319#true} {97319#true} #1186#return; {97319#true} is VALID [2022-04-28 15:18:26,019 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-28 15:18:26,020 INFO L290 TraceCheckUtils]: 72: Hoare triple {97319#true} assume !(~s~0 != ~NP~0); {97319#true} is VALID [2022-04-28 15:18:26,020 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-28 15:18:26,020 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-28 15:18:26,020 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-28 15:18:26,020 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-28 15:18:26,020 INFO L290 TraceCheckUtils]: 77: Hoare triple {97319#true} assume 0 != ~compRegistered~0; {97319#true} is VALID [2022-04-28 15:18:26,021 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-28 15:18:26,021 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-28 15:18:26,022 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-28 15:18:26,022 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-28 15:18:26,022 INFO L290 TraceCheckUtils]: 82: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,022 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-28 15:18:26,022 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-28 15:18:26,022 INFO L290 TraceCheckUtils]: 85: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,022 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {97319#true} {97319#true} #1210#return; {97319#true} is VALID [2022-04-28 15:18:26,022 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-28 15:18:26,022 INFO L290 TraceCheckUtils]: 88: Hoare triple {97319#true} assume -1073741802 == ~compRetStatus~0; {97319#true} is VALID [2022-04-28 15:18:26,022 INFO L272 TraceCheckUtils]: 89: Hoare triple {97319#true} call stubMoreProcessingRequired(); {97516#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-28 15:18:26,023 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-28 15:18:26,023 INFO L290 TraceCheckUtils]: 91: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,023 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {97319#true} {97319#true} #1212#return; {97319#true} is VALID [2022-04-28 15:18:26,023 INFO L290 TraceCheckUtils]: 93: Hoare triple {97319#true} assume !(0 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-28 15:18:26,023 INFO L290 TraceCheckUtils]: 94: Hoare triple {97319#true} assume !(1 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-28 15:18:26,023 INFO L290 TraceCheckUtils]: 95: Hoare triple {97319#true} ~returnVal2~0 := 259; {97319#true} is VALID [2022-04-28 15:18:26,023 INFO L290 TraceCheckUtils]: 96: Hoare triple {97319#true} assume !(~s~0 == ~NP~0); {97319#true} is VALID [2022-04-28 15:18:26,023 INFO L290 TraceCheckUtils]: 97: Hoare triple {97319#true} assume ~s~0 == ~MPR1~0; {97319#true} is VALID [2022-04-28 15:18:26,023 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-28 15:18:26,023 INFO L290 TraceCheckUtils]: 99: Hoare triple {97319#true} #res := ~returnVal2~0; {97319#true} is VALID [2022-04-28 15:18:26,023 INFO L290 TraceCheckUtils]: 100: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,023 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {97319#true} {97319#true} #1192#return; {97319#true} is VALID [2022-04-28 15:18:26,023 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-28 15:18:26,023 INFO L290 TraceCheckUtils]: 103: Hoare triple {97319#true} assume 259 == ~status~3; {97319#true} is VALID [2022-04-28 15:18:26,024 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-28 15:18:26,024 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-28 15:18:26,024 INFO L290 TraceCheckUtils]: 106: Hoare triple {97319#true} assume ~s~0 == ~MPR3~0; {97319#true} is VALID [2022-04-28 15:18:26,024 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-28 15:18:26,024 INFO L290 TraceCheckUtils]: 108: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~13; {97319#true} is VALID [2022-04-28 15:18:26,024 INFO L290 TraceCheckUtils]: 109: Hoare triple {97319#true} #res := 0; {97319#true} is VALID [2022-04-28 15:18:26,024 INFO L290 TraceCheckUtils]: 110: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,025 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {97319#true} {97319#true} #1194#return; {97319#true} is VALID [2022-04-28 15:18:26,025 INFO L290 TraceCheckUtils]: 112: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret110 && #t~ret110 <= 9223372036854775807;havoc #t~ret110; {97319#true} is VALID [2022-04-28 15:18:26,025 INFO L290 TraceCheckUtils]: 113: Hoare triple {97319#true} assume ~status~3 >= 0; {97319#true} is VALID [2022-04-28 15:18:26,025 INFO L290 TraceCheckUtils]: 114: Hoare triple {97319#true} assume !(~myStatus~0 >= 0); {97319#true} is VALID [2022-04-28 15:18:26,025 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-28 15:18:26,025 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-28 15:18:26,025 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-28 15:18:26,025 INFO L290 TraceCheckUtils]: 118: Hoare triple {97319#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {97319#true} is VALID [2022-04-28 15:18:26,025 INFO L290 TraceCheckUtils]: 119: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,026 INFO L284 TraceCheckUtils]: 120: Hoare quadruple {97319#true} {97319#true} #1196#return; {97319#true} is VALID [2022-04-28 15:18:26,026 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-28 15:18:26,026 INFO L290 TraceCheckUtils]: 122: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-28 15:18:26,026 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {97319#true} {97320#false} #1230#return; {97320#false} is VALID [2022-04-28 15:18:26,026 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-28 15:18:26,026 INFO L290 TraceCheckUtils]: 125: Hoare triple {97320#false} assume 0 != ~we_should_unload~0; {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 126: Hoare triple {97320#false} assume !(1 == ~pended~0); {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 127: Hoare triple {97320#false} assume !(1 == ~pended~0); {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 128: Hoare triple {97320#false} assume !(~s~0 == ~UNLOADED~0); {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 129: Hoare triple {97320#false} assume !(-1 == ~status~5); {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 130: Hoare triple {97320#false} assume ~s~0 != ~SKIP2~0; {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 131: Hoare triple {97320#false} assume ~s~0 != ~IPC~0; {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 132: Hoare triple {97320#false} assume !(~s~0 != ~DC~0); {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 133: Hoare triple {97320#false} assume !(1 == ~pended~0); {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 134: Hoare triple {97320#false} assume ~s~0 == ~DC~0; {97320#false} is VALID [2022-04-28 15:18:26,026 INFO L290 TraceCheckUtils]: 135: Hoare triple {97320#false} assume 259 == ~status~5; {97320#false} is VALID [2022-04-28 15:18:26,027 INFO L272 TraceCheckUtils]: 136: Hoare triple {97320#false} call errorFn(); {97320#false} is VALID [2022-04-28 15:18:26,027 INFO L290 TraceCheckUtils]: 137: Hoare triple {97320#false} assume !false; {97320#false} is VALID [2022-04-28 15:18:26,027 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-28 15:18:26,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 15:18:26,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [389787216] [2022-04-28 15:18:26,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [389787216] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 15:18:26,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [938005084] [2022-04-28 15:18:26,027 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 15:18:26,027 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 15:18:26,028 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 15:18:26,028 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-28 15:18:26,029 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process