./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-linux-3.12-rc1/linux-3.12-rc1.tar.xz-144_2a-drivers--usb--misc--idmouse.ko-entry_point.cil.out.i --full-output -ea --architecture 64bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/ldv-linux-3.12-rc1/linux-3.12-rc1.tar.xz-144_2a-drivers--usb--misc--idmouse.ko-entry_point.cil.out.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash 57ba9a4d546a973620a0029f54a814a104db676a0fd0f250dd5545a7c0f94302 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 21:52:23,811 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 21:52:23,813 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 21:52:23,834 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 21:52:23,835 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 21:52:23,836 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 21:52:23,837 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 21:52:23,838 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 21:52:23,839 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 21:52:23,842 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 21:52:23,843 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 21:52:23,844 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 21:52:23,846 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 21:52:23,847 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 21:52:23,847 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 21:52:23,850 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 21:52:23,851 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 21:52:23,851 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 21:52:23,853 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 21:52:23,854 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 21:52:23,855 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 21:52:23,858 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 21:52:23,859 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 21:52:23,859 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 21:52:23,861 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 21:52:23,862 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 21:52:23,862 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 21:52:23,862 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 21:52:23,863 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 21:52:23,869 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 21:52:23,869 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 21:52:23,869 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 21:52:23,870 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 21:52:23,870 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 21:52:23,871 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 21:52:23,871 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 21:52:23,872 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 21:52:23,872 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 21:52:23,872 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 21:52:23,872 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 21:52:23,873 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 21:52:23,887 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-64bit-Automizer_Default.epf [2022-02-20 21:52:23,905 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 21:52:23,905 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 21:52:23,906 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 21:52:23,906 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 21:52:23,906 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 21:52:23,906 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 21:52:23,907 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 21:52:23,911 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 21:52:23,912 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 21:52:23,912 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 21:52:23,913 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 21:52:23,913 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 21:52:23,913 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 21:52:23,913 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 21:52:23,913 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 21:52:23,913 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 21:52:23,914 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 21:52:23,914 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 21:52:23,914 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 21:52:23,914 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 21:52:23,914 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 21:52:23,914 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:52:23,915 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 21:52:23,915 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 21:52:23,915 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 21:52:23,915 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 21:52:23,915 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 21:52:23,916 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 21:52:23,916 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 21:52:23,916 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 21:52:23,916 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 57ba9a4d546a973620a0029f54a814a104db676a0fd0f250dd5545a7c0f94302 [2022-02-20 21:52:24,082 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 21:52:24,109 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 21:52:24,111 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 21:52:24,113 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 21:52:24,113 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 21:52:24,114 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-linux-3.12-rc1/linux-3.12-rc1.tar.xz-144_2a-drivers--usb--misc--idmouse.ko-entry_point.cil.out.i [2022-02-20 21:52:24,174 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a2a871916/9751dc83bccd4d6bb00e9318560d7d61/FLAG2d6ba6a43 [2022-02-20 21:52:24,680 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 21:52:24,680 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-linux-3.12-rc1/linux-3.12-rc1.tar.xz-144_2a-drivers--usb--misc--idmouse.ko-entry_point.cil.out.i [2022-02-20 21:52:24,715 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a2a871916/9751dc83bccd4d6bb00e9318560d7d61/FLAG2d6ba6a43 [2022-02-20 21:52:25,191 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a2a871916/9751dc83bccd4d6bb00e9318560d7d61 [2022-02-20 21:52:25,193 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 21:52:25,194 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 21:52:25,195 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 21:52:25,195 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 21:52:25,198 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 21:52:25,199 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:52:25" (1/1) ... [2022-02-20 21:52:25,200 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@356cdf4a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:25, skipping insertion in model container [2022-02-20 21:52:25,200 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:52:25" (1/1) ... [2022-02-20 21:52:25,205 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 21:52:25,260 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 21:52:25,716 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-linux-3.12-rc1/linux-3.12-rc1.tar.xz-144_2a-drivers--usb--misc--idmouse.ko-entry_point.cil.out.i[101600,101613] [2022-02-20 21:52:25,909 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:52:25,937 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 21:52:26,034 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-linux-3.12-rc1/linux-3.12-rc1.tar.xz-144_2a-drivers--usb--misc--idmouse.ko-entry_point.cil.out.i[101600,101613] [2022-02-20 21:52:26,101 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:52:26,138 INFO L208 MainTranslator]: Completed translation [2022-02-20 21:52:26,138 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26 WrapperNode [2022-02-20 21:52:26,139 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 21:52:26,140 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 21:52:26,140 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 21:52:26,141 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 21:52:26,146 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,176 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,268 INFO L137 Inliner]: procedures = 113, calls = 417, calls flagged for inlining = 47, calls inlined = 47, statements flattened = 1227 [2022-02-20 21:52:26,269 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 21:52:26,270 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 21:52:26,270 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 21:52:26,270 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 21:52:26,276 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,277 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,296 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,297 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,357 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,363 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,367 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,376 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 21:52:26,377 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 21:52:26,377 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 21:52:26,377 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 21:52:26,383 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (1/1) ... [2022-02-20 21:52:26,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:52:26,403 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:52:26,415 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-02-20 21:52:26,420 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-02-20 21:52:26,442 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2022-02-20 21:52:26,443 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~$Pointer$ [2022-02-20 21:52:26,443 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~$Pointer$ [2022-02-20 21:52:26,443 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_stop [2022-02-20 21:52:26,443 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_stop [2022-02-20 21:52:26,443 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 21:52:26,444 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memcpy [2022-02-20 21:52:26,444 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memcpy [2022-02-20 21:52:26,444 INFO L130 BoogieDeclarations]: Found specification of procedure __create_pipe [2022-02-20 21:52:26,444 INFO L138 BoogieDeclarations]: Found implementation of procedure __create_pipe [2022-02-20 21:52:26,444 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2022-02-20 21:52:26,444 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2022-02-20 21:52:26,444 INFO L130 BoogieDeclarations]: Found specification of procedure kfree [2022-02-20 21:52:26,444 INFO L138 BoogieDeclarations]: Found implementation of procedure kfree [2022-02-20 21:52:26,445 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 21:52:26,445 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2022-02-20 21:52:26,445 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2022-02-20 21:52:26,445 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_error [2022-02-20 21:52:26,445 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_error [2022-02-20 21:52:26,445 INFO L130 BoogieDeclarations]: Found specification of procedure ldv__builtin_expect [2022-02-20 21:52:26,445 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv__builtin_expect [2022-02-20 21:52:26,445 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 21:52:26,445 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 21:52:26,446 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 21:52:26,446 INFO L130 BoogieDeclarations]: Found specification of procedure idmouse_resume [2022-02-20 21:52:26,446 INFO L138 BoogieDeclarations]: Found implementation of procedure idmouse_resume [2022-02-20 21:52:26,446 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_stop___0 [2022-02-20 21:52:26,446 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_stop___0 [2022-02-20 21:52:26,446 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_usb_get_intfdata_2 [2022-02-20 21:52:26,447 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_usb_get_intfdata_2 [2022-02-20 21:52:26,447 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 21:52:26,447 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_undef_int [2022-02-20 21:52:26,447 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_undef_int [2022-02-20 21:52:26,447 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 21:52:26,447 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 21:52:26,447 INFO L130 BoogieDeclarations]: Found specification of procedure __bad_percpu_size [2022-02-20 21:52:26,447 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_usb_set_intfdata_5 [2022-02-20 21:52:26,448 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_usb_set_intfdata_5 [2022-02-20 21:52:26,448 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 21:52:26,448 INFO L130 BoogieDeclarations]: Found specification of procedure usb_control_msg [2022-02-20 21:52:26,448 INFO L138 BoogieDeclarations]: Found implementation of procedure usb_control_msg [2022-02-20 21:52:26,448 INFO L130 BoogieDeclarations]: Found specification of procedure idmouse_disconnect [2022-02-20 21:52:26,448 INFO L138 BoogieDeclarations]: Found implementation of procedure idmouse_disconnect [2022-02-20 21:52:26,448 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 21:52:26,449 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 21:52:26,449 INFO L130 BoogieDeclarations]: Found specification of procedure idmouse_delete [2022-02-20 21:52:26,449 INFO L138 BoogieDeclarations]: Found implementation of procedure idmouse_delete [2022-02-20 21:52:26,449 INFO L130 BoogieDeclarations]: Found specification of procedure kmalloc [2022-02-20 21:52:26,449 INFO L138 BoogieDeclarations]: Found implementation of procedure kmalloc [2022-02-20 21:52:26,449 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock_nested [2022-02-20 21:52:26,449 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock_nested [2022-02-20 21:52:26,450 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 21:52:26,450 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~int [2022-02-20 21:52:26,450 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_zalloc [2022-02-20 21:52:26,450 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_zalloc [2022-02-20 21:52:26,450 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 21:52:26,451 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 21:52:26,758 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 21:52:26,759 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 21:52:26,825 INFO L766 $ProcedureCfgBuilder]: dead code at ProgramPoint ldv_stopFINAL: assume true; [2022-02-20 21:52:27,036 INFO L766 $ProcedureCfgBuilder]: dead code at ProgramPoint ldv_stop___0FINAL: assume true; [2022-02-20 21:52:27,773 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 21:52:27,783 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 21:52:27,783 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 21:52:27,785 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:52:27 BoogieIcfgContainer [2022-02-20 21:52:27,785 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 21:52:27,787 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 21:52:27,787 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 21:52:27,789 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 21:52:27,789 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 09:52:25" (1/3) ... [2022-02-20 21:52:27,790 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2cf02516 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:52:27, skipping insertion in model container [2022-02-20 21:52:27,790 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:52:26" (2/3) ... [2022-02-20 21:52:27,790 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2cf02516 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:52:27, skipping insertion in model container [2022-02-20 21:52:27,790 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:52:27" (3/3) ... [2022-02-20 21:52:27,791 INFO L111 eAbstractionObserver]: Analyzing ICFG linux-3.12-rc1.tar.xz-144_2a-drivers--usb--misc--idmouse.ko-entry_point.cil.out.i [2022-02-20 21:52:27,796 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 21:52:27,796 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 21:52:27,831 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:52:27,836 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 21:52:27,836 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 21:52:27,860 INFO L276 IsEmpty]: Start isEmpty. Operand has 358 states, 256 states have (on average 1.375) internal successors, (352), 271 states have internal predecessors, (352), 82 states have call successors, (82), 20 states have call predecessors, (82), 18 states have return successors, (76), 74 states have call predecessors, (76), 76 states have call successors, (76) [2022-02-20 21:52:27,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 21:52:27,867 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:27,868 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 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-02-20 21:52:27,868 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:27,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:27,873 INFO L85 PathProgramCache]: Analyzing trace with hash -536575566, now seen corresponding path program 1 times [2022-02-20 21:52:27,881 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:27,882 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [419164212] [2022-02-20 21:52:27,882 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:27,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:28,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:28,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:28,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:28,272 INFO L290 TraceCheckUtils]: 0: Hoare triple {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {361#true} is VALID [2022-02-20 21:52:28,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {361#true} is VALID [2022-02-20 21:52:28,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-02-20 21:52:28,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #857#return; {361#true} is VALID [2022-02-20 21:52:28,274 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:28,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:28,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {361#true} is VALID [2022-02-20 21:52:28,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {361#true} is VALID [2022-02-20 21:52:28,306 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-02-20 21:52:28,306 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #859#return; {361#true} is VALID [2022-02-20 21:52:28,306 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:28,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:28,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {361#true} is VALID [2022-02-20 21:52:28,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {361#true} is VALID [2022-02-20 21:52:28,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-02-20 21:52:28,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #861#return; {361#true} is VALID [2022-02-20 21:52:28,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {361#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {361#true} is VALID [2022-02-20 21:52:28,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {361#true} is VALID [2022-02-20 21:52:28,334 INFO L272 TraceCheckUtils]: 2: Hoare triple {361#true} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:28,334 INFO L290 TraceCheckUtils]: 3: Hoare triple {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {361#true} is VALID [2022-02-20 21:52:28,335 INFO L290 TraceCheckUtils]: 4: Hoare triple {361#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {361#true} is VALID [2022-02-20 21:52:28,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} assume true; {361#true} is VALID [2022-02-20 21:52:28,337 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {361#true} {361#true} #857#return; {361#true} is VALID [2022-02-20 21:52:28,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {361#true} is VALID [2022-02-20 21:52:28,338 INFO L272 TraceCheckUtils]: 8: Hoare triple {361#true} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:28,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {361#true} is VALID [2022-02-20 21:52:28,340 INFO L290 TraceCheckUtils]: 10: Hoare triple {361#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {361#true} is VALID [2022-02-20 21:52:28,341 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume true; {361#true} is VALID [2022-02-20 21:52:28,341 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {361#true} {361#true} #859#return; {361#true} is VALID [2022-02-20 21:52:28,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {361#true} is VALID [2022-02-20 21:52:28,343 INFO L272 TraceCheckUtils]: 14: Hoare triple {361#true} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:28,343 INFO L290 TraceCheckUtils]: 15: Hoare triple {376#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {361#true} is VALID [2022-02-20 21:52:28,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {361#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {361#true} is VALID [2022-02-20 21:52:28,343 INFO L290 TraceCheckUtils]: 17: Hoare triple {361#true} assume true; {361#true} is VALID [2022-02-20 21:52:28,344 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {361#true} {361#true} #861#return; {361#true} is VALID [2022-02-20 21:52:28,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {361#true} is VALID [2022-02-20 21:52:28,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {361#true} is VALID [2022-02-20 21:52:28,349 INFO L290 TraceCheckUtils]: 21: Hoare triple {361#true} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {361#true} is VALID [2022-02-20 21:52:28,350 INFO L290 TraceCheckUtils]: 22: Hoare triple {361#true} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {375#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:52:28,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {375#(= ~ldv_state_variable_0~0 1)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {375#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:52:28,351 INFO L290 TraceCheckUtils]: 24: Hoare triple {375#(= ~ldv_state_variable_0~0 1)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {375#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:52:28,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {375#(= ~ldv_state_variable_0~0 1)} assume main_#t~switch179#1; {375#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:52:28,352 INFO L290 TraceCheckUtils]: 26: Hoare triple {375#(= ~ldv_state_variable_0~0 1)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {375#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:52:28,352 INFO L290 TraceCheckUtils]: 27: Hoare triple {375#(= ~ldv_state_variable_0~0 1)} assume main_#t~switch188#1; {375#(= ~ldv_state_variable_0~0 1)} is VALID [2022-02-20 21:52:28,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {375#(= ~ldv_state_variable_0~0 1)} assume 3 == ~ldv_state_variable_0~0 && 0 == ~ref_cnt~0;assume { :begin_inline_idmouse_driver_exit } true;assume { :begin_inline_ldv_usb_deregister_10 } true;ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset;havoc ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset := ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset;assume { :begin_inline_usb_deregister } true;usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset := ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;havoc usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset;usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset := usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset; {362#false} is VALID [2022-02-20 21:52:28,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {362#false} assume { :end_inline_usb_deregister } true;~ldv_state_variable_1~0 := 0; {362#false} is VALID [2022-02-20 21:52:28,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {362#false} assume { :end_inline_ldv_usb_deregister_10 } true; {362#false} is VALID [2022-02-20 21:52:28,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {362#false} assume { :end_inline_idmouse_driver_exit } true;~ldv_state_variable_0~0 := 2; {362#false} is VALID [2022-02-20 21:52:28,354 INFO L290 TraceCheckUtils]: 32: Hoare triple {362#false} assume { :begin_inline_ldv_check_final_state } true; {362#false} is VALID [2022-02-20 21:52:28,354 INFO L290 TraceCheckUtils]: 33: Hoare triple {362#false} assume !(0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616); {362#false} is VALID [2022-02-20 21:52:28,354 INFO L272 TraceCheckUtils]: 34: Hoare triple {362#false} call ldv_error(); {362#false} is VALID [2022-02-20 21:52:28,354 INFO L290 TraceCheckUtils]: 35: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-02-20 21:52:28,355 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 21:52:28,356 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:28,356 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [419164212] [2022-02-20 21:52:28,357 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [419164212] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:28,357 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:52:28,357 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:52:28,358 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2140131841] [2022-02-20 21:52:28,359 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:28,364 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 36 [2022-02-20 21:52:28,365 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:28,368 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 21:52:28,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:28,409 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:52:28,410 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:28,429 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:52:28,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:52:28,436 INFO L87 Difference]: Start difference. First operand has 358 states, 256 states have (on average 1.375) internal successors, (352), 271 states have internal predecessors, (352), 82 states have call successors, (82), 20 states have call predecessors, (82), 18 states have return successors, (76), 74 states have call predecessors, (76), 76 states have call successors, (76) Second operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 21:52:30,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:30,807 INFO L93 Difference]: Finished difference Result 1050 states and 1526 transitions. [2022-02-20 21:52:30,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 21:52:30,807 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 36 [2022-02-20 21:52:30,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:52:30,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 21:52:30,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1526 transitions. [2022-02-20 21:52:30,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 21:52:30,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1526 transitions. [2022-02-20 21:52:30,878 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 1526 transitions. [2022-02-20 21:52:32,032 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1526 edges. 1526 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:32,111 INFO L225 Difference]: With dead ends: 1050 [2022-02-20 21:52:32,111 INFO L226 Difference]: Without dead ends: 675 [2022-02-20 21:52:32,115 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:52:32,117 INFO L933 BasicCegarLoop]: 557 mSDtfsCounter, 477 mSDsluCounter, 647 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 178 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 531 SdHoareTripleChecker+Valid, 1204 SdHoareTripleChecker+Invalid, 498 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 178 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 21:52:32,118 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [531 Valid, 1204 Invalid, 498 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [178 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 21:52:32,132 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 675 states. [2022-02-20 21:52:32,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 675 to 648. [2022-02-20 21:52:32,197 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:52:32,207 INFO L82 GeneralOperation]: Start isEquivalent. First operand 675 states. Second operand has 648 states, 473 states have (on average 1.3488372093023255) internal successors, (638), 482 states have internal predecessors, (638), 140 states have call successors, (140), 35 states have call predecessors, (140), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:32,212 INFO L74 IsIncluded]: Start isIncluded. First operand 675 states. Second operand has 648 states, 473 states have (on average 1.3488372093023255) internal successors, (638), 482 states have internal predecessors, (638), 140 states have call successors, (140), 35 states have call predecessors, (140), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:32,213 INFO L87 Difference]: Start difference. First operand 675 states. Second operand has 648 states, 473 states have (on average 1.3488372093023255) internal successors, (638), 482 states have internal predecessors, (638), 140 states have call successors, (140), 35 states have call predecessors, (140), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:32,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:32,243 INFO L93 Difference]: Finished difference Result 675 states and 954 transitions. [2022-02-20 21:52:32,243 INFO L276 IsEmpty]: Start isEmpty. Operand 675 states and 954 transitions. [2022-02-20 21:52:32,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:32,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:32,255 INFO L74 IsIncluded]: Start isIncluded. First operand has 648 states, 473 states have (on average 1.3488372093023255) internal successors, (638), 482 states have internal predecessors, (638), 140 states have call successors, (140), 35 states have call predecessors, (140), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) Second operand 675 states. [2022-02-20 21:52:32,256 INFO L87 Difference]: Start difference. First operand has 648 states, 473 states have (on average 1.3488372093023255) internal successors, (638), 482 states have internal predecessors, (638), 140 states have call successors, (140), 35 states have call predecessors, (140), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) Second operand 675 states. [2022-02-20 21:52:32,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:32,283 INFO L93 Difference]: Finished difference Result 675 states and 954 transitions. [2022-02-20 21:52:32,283 INFO L276 IsEmpty]: Start isEmpty. Operand 675 states and 954 transitions. [2022-02-20 21:52:32,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:32,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:32,287 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:52:32,287 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:52:32,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 648 states, 473 states have (on average 1.3488372093023255) internal successors, (638), 482 states have internal predecessors, (638), 140 states have call successors, (140), 35 states have call predecessors, (140), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:32,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 648 states to 648 states and 912 transitions. [2022-02-20 21:52:32,342 INFO L78 Accepts]: Start accepts. Automaton has 648 states and 912 transitions. Word has length 36 [2022-02-20 21:52:32,342 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:52:32,342 INFO L470 AbstractCegarLoop]: Abstraction has 648 states and 912 transitions. [2022-02-20 21:52:32,343 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 3 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 21:52:32,343 INFO L276 IsEmpty]: Start isEmpty. Operand 648 states and 912 transitions. [2022-02-20 21:52:32,344 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 21:52:32,345 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:32,345 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:52:32,345 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 21:52:32,345 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:32,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:32,346 INFO L85 PathProgramCache]: Analyzing trace with hash -981122542, now seen corresponding path program 1 times [2022-02-20 21:52:32,346 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:32,346 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [251515848] [2022-02-20 21:52:32,346 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:32,347 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:32,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:32,458 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:32,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:32,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {4162#true} is VALID [2022-02-20 21:52:32,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {4162#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {4162#true} is VALID [2022-02-20 21:52:32,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {4162#true} assume true; {4162#true} is VALID [2022-02-20 21:52:32,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4162#true} {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} #857#return; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:32,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:32,477 INFO L290 TraceCheckUtils]: 0: Hoare triple {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {4162#true} is VALID [2022-02-20 21:52:32,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {4162#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {4162#true} is VALID [2022-02-20 21:52:32,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {4162#true} assume true; {4162#true} is VALID [2022-02-20 21:52:32,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4162#true} {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} #859#return; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,478 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:32,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:32,484 INFO L290 TraceCheckUtils]: 0: Hoare triple {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {4162#true} is VALID [2022-02-20 21:52:32,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {4162#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {4162#true} is VALID [2022-02-20 21:52:32,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {4162#true} assume true; {4162#true} is VALID [2022-02-20 21:52:32,485 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4162#true} {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} #861#return; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,485 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 21:52:32,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:32,492 INFO L290 TraceCheckUtils]: 0: Hoare triple {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {4162#true} is VALID [2022-02-20 21:52:32,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {4162#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {4162#true} is VALID [2022-02-20 21:52:32,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {4162#true} assume true; {4162#true} is VALID [2022-02-20 21:52:32,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4162#true} {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} #891#return; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,499 INFO L290 TraceCheckUtils]: 0: Hoare triple {4162#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,500 INFO L272 TraceCheckUtils]: 2: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:32,500 INFO L290 TraceCheckUtils]: 3: Hoare triple {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {4162#true} is VALID [2022-02-20 21:52:32,500 INFO L290 TraceCheckUtils]: 4: Hoare triple {4162#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {4162#true} is VALID [2022-02-20 21:52:32,501 INFO L290 TraceCheckUtils]: 5: Hoare triple {4162#true} assume true; {4162#true} is VALID [2022-02-20 21:52:32,503 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4162#true} {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} #857#return; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,504 INFO L290 TraceCheckUtils]: 7: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,504 INFO L272 TraceCheckUtils]: 8: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:32,505 INFO L290 TraceCheckUtils]: 9: Hoare triple {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {4162#true} is VALID [2022-02-20 21:52:32,505 INFO L290 TraceCheckUtils]: 10: Hoare triple {4162#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {4162#true} is VALID [2022-02-20 21:52:32,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {4162#true} assume true; {4162#true} is VALID [2022-02-20 21:52:32,505 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4162#true} {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} #859#return; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,507 INFO L272 TraceCheckUtils]: 14: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:32,507 INFO L290 TraceCheckUtils]: 15: Hoare triple {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {4162#true} is VALID [2022-02-20 21:52:32,508 INFO L290 TraceCheckUtils]: 16: Hoare triple {4162#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {4162#true} is VALID [2022-02-20 21:52:32,508 INFO L290 TraceCheckUtils]: 17: Hoare triple {4162#true} assume true; {4162#true} is VALID [2022-02-20 21:52:32,508 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4162#true} {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} #861#return; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,509 INFO L290 TraceCheckUtils]: 19: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,509 INFO L290 TraceCheckUtils]: 20: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,510 INFO L290 TraceCheckUtils]: 21: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,511 INFO L290 TraceCheckUtils]: 23: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume main_#t~switch179#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,512 INFO L290 TraceCheckUtils]: 26: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,512 INFO L290 TraceCheckUtils]: 27: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,513 INFO L290 TraceCheckUtils]: 28: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume main_#t~switch188#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,514 INFO L290 TraceCheckUtils]: 30: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,515 INFO L272 TraceCheckUtils]: 31: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:32,515 INFO L290 TraceCheckUtils]: 32: Hoare triple {4181#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {4162#true} is VALID [2022-02-20 21:52:32,515 INFO L290 TraceCheckUtils]: 33: Hoare triple {4162#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {4162#true} is VALID [2022-02-20 21:52:32,516 INFO L290 TraceCheckUtils]: 34: Hoare triple {4162#true} assume true; {4162#true} is VALID [2022-02-20 21:52:32,516 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4162#true} {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} #891#return; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,517 INFO L290 TraceCheckUtils]: 36: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,517 INFO L290 TraceCheckUtils]: 37: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,519 INFO L290 TraceCheckUtils]: 38: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,520 INFO L290 TraceCheckUtils]: 39: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,520 INFO L290 TraceCheckUtils]: 40: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume !(0 == ~ldv_retval_4~0); {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,520 INFO L290 TraceCheckUtils]: 41: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume 0 != ~ldv_retval_4~0;~ldv_state_variable_0~0 := 2; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,521 INFO L290 TraceCheckUtils]: 42: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume { :begin_inline_ldv_check_final_state } true; {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} is VALID [2022-02-20 21:52:32,521 INFO L290 TraceCheckUtils]: 43: Hoare triple {4164#(and (= ~usb_urb~0.base 0) (= ~usb_urb~0.offset 0))} assume !(0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616); {4163#false} is VALID [2022-02-20 21:52:32,521 INFO L272 TraceCheckUtils]: 44: Hoare triple {4163#false} call ldv_error(); {4163#false} is VALID [2022-02-20 21:52:32,521 INFO L290 TraceCheckUtils]: 45: Hoare triple {4163#false} assume !false; {4163#false} is VALID [2022-02-20 21:52:32,522 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 21:52:32,522 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:32,522 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [251515848] [2022-02-20 21:52:32,522 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [251515848] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:32,522 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:52:32,523 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:52:32,523 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1520081921] [2022-02-20 21:52:32,523 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:32,524 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 46 [2022-02-20 21:52:32,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:32,525 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:32,559 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:32,560 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:52:32,560 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:32,560 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:52:32,560 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:52:32,561 INFO L87 Difference]: Start difference. First operand 648 states and 912 transitions. Second operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:33,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:33,776 INFO L93 Difference]: Finished difference Result 674 states and 953 transitions. [2022-02-20 21:52:33,776 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 21:52:33,776 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 46 [2022-02-20 21:52:33,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:52:33,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:33,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 507 transitions. [2022-02-20 21:52:33,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:33,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 507 transitions. [2022-02-20 21:52:33,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 507 transitions. [2022-02-20 21:52:34,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 507 edges. 507 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:34,211 INFO L225 Difference]: With dead ends: 674 [2022-02-20 21:52:34,211 INFO L226 Difference]: Without dead ends: 671 [2022-02-20 21:52:34,212 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:52:34,212 INFO L933 BasicCegarLoop]: 467 mSDtfsCounter, 445 mSDsluCounter, 249 mSDsCounter, 0 mSdLazyCounter, 134 mSolverCounterSat, 96 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 495 SdHoareTripleChecker+Valid, 716 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 96 IncrementalHoareTripleChecker+Valid, 134 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 21:52:34,213 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [495 Valid, 716 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [96 Valid, 134 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 21:52:34,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 671 states. [2022-02-20 21:52:34,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 671 to 647. [2022-02-20 21:52:34,244 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:52:34,246 INFO L82 GeneralOperation]: Start isEquivalent. First operand 671 states. Second operand has 647 states, 473 states have (on average 1.346723044397463) internal successors, (637), 481 states have internal predecessors, (637), 139 states have call successors, (139), 35 states have call predecessors, (139), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:34,248 INFO L74 IsIncluded]: Start isIncluded. First operand 671 states. Second operand has 647 states, 473 states have (on average 1.346723044397463) internal successors, (637), 481 states have internal predecessors, (637), 139 states have call successors, (139), 35 states have call predecessors, (139), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:34,249 INFO L87 Difference]: Start difference. First operand 671 states. Second operand has 647 states, 473 states have (on average 1.346723044397463) internal successors, (637), 481 states have internal predecessors, (637), 139 states have call successors, (139), 35 states have call predecessors, (139), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:34,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:34,269 INFO L93 Difference]: Finished difference Result 671 states and 950 transitions. [2022-02-20 21:52:34,269 INFO L276 IsEmpty]: Start isEmpty. Operand 671 states and 950 transitions. [2022-02-20 21:52:34,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:34,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:34,273 INFO L74 IsIncluded]: Start isIncluded. First operand has 647 states, 473 states have (on average 1.346723044397463) internal successors, (637), 481 states have internal predecessors, (637), 139 states have call successors, (139), 35 states have call predecessors, (139), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) Second operand 671 states. [2022-02-20 21:52:34,275 INFO L87 Difference]: Start difference. First operand has 647 states, 473 states have (on average 1.346723044397463) internal successors, (637), 481 states have internal predecessors, (637), 139 states have call successors, (139), 35 states have call predecessors, (139), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) Second operand 671 states. [2022-02-20 21:52:34,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:34,298 INFO L93 Difference]: Finished difference Result 671 states and 950 transitions. [2022-02-20 21:52:34,298 INFO L276 IsEmpty]: Start isEmpty. Operand 671 states and 950 transitions. [2022-02-20 21:52:34,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:34,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:34,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:52:34,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:52:34,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 647 states, 473 states have (on average 1.346723044397463) internal successors, (637), 481 states have internal predecessors, (637), 139 states have call successors, (139), 35 states have call predecessors, (139), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:34,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 647 states to 647 states and 910 transitions. [2022-02-20 21:52:34,323 INFO L78 Accepts]: Start accepts. Automaton has 647 states and 910 transitions. Word has length 46 [2022-02-20 21:52:34,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:52:34,323 INFO L470 AbstractCegarLoop]: Abstraction has 647 states and 910 transitions. [2022-02-20 21:52:34,323 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 3 states have internal predecessors, (28), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:34,324 INFO L276 IsEmpty]: Start isEmpty. Operand 647 states and 910 transitions. [2022-02-20 21:52:34,324 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 21:52:34,325 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:34,325 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:52:34,325 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 21:52:34,325 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:34,325 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:34,325 INFO L85 PathProgramCache]: Analyzing trace with hash -350236783, now seen corresponding path program 1 times [2022-02-20 21:52:34,326 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:34,326 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631384580] [2022-02-20 21:52:34,326 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:34,326 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:34,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:34,405 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:34,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:34,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {7404#true} is VALID [2022-02-20 21:52:34,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {7404#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {7404#true} is VALID [2022-02-20 21:52:34,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {7404#true} assume true; {7404#true} is VALID [2022-02-20 21:52:34,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7404#true} {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} #857#return; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:34,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:34,442 INFO L290 TraceCheckUtils]: 0: Hoare triple {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {7404#true} is VALID [2022-02-20 21:52:34,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {7404#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {7404#true} is VALID [2022-02-20 21:52:34,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {7404#true} assume true; {7404#true} is VALID [2022-02-20 21:52:34,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7404#true} {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} #859#return; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:34,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:34,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {7404#true} is VALID [2022-02-20 21:52:34,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {7404#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {7404#true} is VALID [2022-02-20 21:52:34,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {7404#true} assume true; {7404#true} is VALID [2022-02-20 21:52:34,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7404#true} {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} #861#return; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,454 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 21:52:34,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:34,468 INFO L290 TraceCheckUtils]: 0: Hoare triple {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {7404#true} is VALID [2022-02-20 21:52:34,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {7404#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {7404#true} is VALID [2022-02-20 21:52:34,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {7404#true} assume true; {7404#true} is VALID [2022-02-20 21:52:34,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7404#true} {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} #891#return; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {7404#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,475 INFO L272 TraceCheckUtils]: 2: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:34,475 INFO L290 TraceCheckUtils]: 3: Hoare triple {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {7404#true} is VALID [2022-02-20 21:52:34,476 INFO L290 TraceCheckUtils]: 4: Hoare triple {7404#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {7404#true} is VALID [2022-02-20 21:52:34,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {7404#true} assume true; {7404#true} is VALID [2022-02-20 21:52:34,476 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {7404#true} {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} #857#return; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,477 INFO L272 TraceCheckUtils]: 8: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:34,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {7404#true} is VALID [2022-02-20 21:52:34,477 INFO L290 TraceCheckUtils]: 10: Hoare triple {7404#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {7404#true} is VALID [2022-02-20 21:52:34,477 INFO L290 TraceCheckUtils]: 11: Hoare triple {7404#true} assume true; {7404#true} is VALID [2022-02-20 21:52:34,478 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7404#true} {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} #859#return; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,478 INFO L290 TraceCheckUtils]: 13: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,479 INFO L272 TraceCheckUtils]: 14: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:34,479 INFO L290 TraceCheckUtils]: 15: Hoare triple {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {7404#true} is VALID [2022-02-20 21:52:34,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {7404#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {7404#true} is VALID [2022-02-20 21:52:34,479 INFO L290 TraceCheckUtils]: 17: Hoare triple {7404#true} assume true; {7404#true} is VALID [2022-02-20 21:52:34,480 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7404#true} {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} #861#return; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,481 INFO L290 TraceCheckUtils]: 20: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,481 INFO L290 TraceCheckUtils]: 22: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,482 INFO L290 TraceCheckUtils]: 23: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,482 INFO L290 TraceCheckUtils]: 24: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,482 INFO L290 TraceCheckUtils]: 25: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume main_#t~switch179#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,483 INFO L290 TraceCheckUtils]: 26: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,483 INFO L290 TraceCheckUtils]: 27: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,484 INFO L290 TraceCheckUtils]: 28: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume main_#t~switch188#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,484 INFO L290 TraceCheckUtils]: 29: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,485 INFO L272 TraceCheckUtils]: 31: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:34,485 INFO L290 TraceCheckUtils]: 32: Hoare triple {7423#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {7404#true} is VALID [2022-02-20 21:52:34,486 INFO L290 TraceCheckUtils]: 33: Hoare triple {7404#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {7404#true} is VALID [2022-02-20 21:52:34,486 INFO L290 TraceCheckUtils]: 34: Hoare triple {7404#true} assume true; {7404#true} is VALID [2022-02-20 21:52:34,486 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {7404#true} {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} #891#return; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,487 INFO L290 TraceCheckUtils]: 36: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,487 INFO L290 TraceCheckUtils]: 37: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,487 INFO L290 TraceCheckUtils]: 38: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,488 INFO L290 TraceCheckUtils]: 39: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,488 INFO L290 TraceCheckUtils]: 40: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume !(0 == ~ldv_retval_4~0); {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,488 INFO L290 TraceCheckUtils]: 41: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume 0 != ~ldv_retval_4~0;~ldv_state_variable_0~0 := 2; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,489 INFO L290 TraceCheckUtils]: 42: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume { :begin_inline_ldv_check_final_state } true; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,489 INFO L290 TraceCheckUtils]: 43: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} is VALID [2022-02-20 21:52:34,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {7406#(and (= ~usb_dev~0.base 0) (= ~usb_dev~0.offset 0))} assume !(0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616); {7405#false} is VALID [2022-02-20 21:52:34,489 INFO L272 TraceCheckUtils]: 45: Hoare triple {7405#false} call ldv_error(); {7405#false} is VALID [2022-02-20 21:52:34,490 INFO L290 TraceCheckUtils]: 46: Hoare triple {7405#false} assume !false; {7405#false} is VALID [2022-02-20 21:52:34,490 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 21:52:34,491 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:34,491 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1631384580] [2022-02-20 21:52:34,491 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1631384580] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:34,491 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:52:34,491 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:52:34,491 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [467839099] [2022-02-20 21:52:34,492 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:34,492 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 47 [2022-02-20 21:52:34,493 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:34,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:34,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:34,527 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:52:34,527 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:34,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:52:34,527 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:52:34,527 INFO L87 Difference]: Start difference. First operand 647 states and 910 transitions. Second operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:35,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:35,703 INFO L93 Difference]: Finished difference Result 673 states and 951 transitions. [2022-02-20 21:52:35,703 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 21:52:35,703 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 47 [2022-02-20 21:52:35,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:52:35,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:35,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 505 transitions. [2022-02-20 21:52:35,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:35,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 505 transitions. [2022-02-20 21:52:35,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 505 transitions. [2022-02-20 21:52:36,116 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 505 edges. 505 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:36,140 INFO L225 Difference]: With dead ends: 673 [2022-02-20 21:52:36,141 INFO L226 Difference]: Without dead ends: 670 [2022-02-20 21:52:36,141 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:52:36,146 INFO L933 BasicCegarLoop]: 465 mSDtfsCounter, 442 mSDsluCounter, 248 mSDsCounter, 0 mSdLazyCounter, 134 mSolverCounterSat, 95 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 492 SdHoareTripleChecker+Valid, 713 SdHoareTripleChecker+Invalid, 229 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 95 IncrementalHoareTripleChecker+Valid, 134 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 21:52:36,147 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [492 Valid, 713 Invalid, 229 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [95 Valid, 134 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 21:52:36,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 670 states. [2022-02-20 21:52:36,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 670 to 646. [2022-02-20 21:52:36,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:52:36,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 670 states. Second operand has 646 states, 473 states have (on average 1.3446088794926003) internal successors, (636), 480 states have internal predecessors, (636), 138 states have call successors, (138), 35 states have call predecessors, (138), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:36,185 INFO L74 IsIncluded]: Start isIncluded. First operand 670 states. Second operand has 646 states, 473 states have (on average 1.3446088794926003) internal successors, (636), 480 states have internal predecessors, (636), 138 states have call successors, (138), 35 states have call predecessors, (138), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:36,186 INFO L87 Difference]: Start difference. First operand 670 states. Second operand has 646 states, 473 states have (on average 1.3446088794926003) internal successors, (636), 480 states have internal predecessors, (636), 138 states have call successors, (138), 35 states have call predecessors, (138), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:36,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:36,207 INFO L93 Difference]: Finished difference Result 670 states and 948 transitions. [2022-02-20 21:52:36,207 INFO L276 IsEmpty]: Start isEmpty. Operand 670 states and 948 transitions. [2022-02-20 21:52:36,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:36,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:36,210 INFO L74 IsIncluded]: Start isIncluded. First operand has 646 states, 473 states have (on average 1.3446088794926003) internal successors, (636), 480 states have internal predecessors, (636), 138 states have call successors, (138), 35 states have call predecessors, (138), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) Second operand 670 states. [2022-02-20 21:52:36,212 INFO L87 Difference]: Start difference. First operand has 646 states, 473 states have (on average 1.3446088794926003) internal successors, (636), 480 states have internal predecessors, (636), 138 states have call successors, (138), 35 states have call predecessors, (138), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) Second operand 670 states. [2022-02-20 21:52:36,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:36,234 INFO L93 Difference]: Finished difference Result 670 states and 948 transitions. [2022-02-20 21:52:36,234 INFO L276 IsEmpty]: Start isEmpty. Operand 670 states and 948 transitions. [2022-02-20 21:52:36,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:36,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:36,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:52:36,236 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:52:36,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 646 states, 473 states have (on average 1.3446088794926003) internal successors, (636), 480 states have internal predecessors, (636), 138 states have call successors, (138), 35 states have call predecessors, (138), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:36,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 646 states to 646 states and 908 transitions. [2022-02-20 21:52:36,260 INFO L78 Accepts]: Start accepts. Automaton has 646 states and 908 transitions. Word has length 47 [2022-02-20 21:52:36,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:52:36,260 INFO L470 AbstractCegarLoop]: Abstraction has 646 states and 908 transitions. [2022-02-20 21:52:36,262 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 3 states have internal predecessors, (29), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:36,262 INFO L276 IsEmpty]: Start isEmpty. Operand 646 states and 908 transitions. [2022-02-20 21:52:36,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 21:52:36,263 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:36,264 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:52:36,264 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 21:52:36,264 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:36,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:36,264 INFO L85 PathProgramCache]: Analyzing trace with hash 2027357429, now seen corresponding path program 1 times [2022-02-20 21:52:36,266 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:36,267 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1674325174] [2022-02-20 21:52:36,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:36,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:36,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:36,368 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:36,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:36,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {10640#true} is VALID [2022-02-20 21:52:36,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {10640#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {10640#true} is VALID [2022-02-20 21:52:36,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {10640#true} assume true; {10640#true} is VALID [2022-02-20 21:52:36,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10640#true} {10642#(= ~dev_counter~0 0)} #857#return; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:36,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:36,383 INFO L290 TraceCheckUtils]: 0: Hoare triple {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {10640#true} is VALID [2022-02-20 21:52:36,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {10640#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {10640#true} is VALID [2022-02-20 21:52:36,383 INFO L290 TraceCheckUtils]: 2: Hoare triple {10640#true} assume true; {10640#true} is VALID [2022-02-20 21:52:36,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10640#true} {10642#(= ~dev_counter~0 0)} #859#return; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,384 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:36,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:36,392 INFO L290 TraceCheckUtils]: 0: Hoare triple {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {10640#true} is VALID [2022-02-20 21:52:36,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {10640#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {10640#true} is VALID [2022-02-20 21:52:36,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {10640#true} assume true; {10640#true} is VALID [2022-02-20 21:52:36,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10640#true} {10642#(= ~dev_counter~0 0)} #861#return; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,393 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 21:52:36,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:36,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {10640#true} is VALID [2022-02-20 21:52:36,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {10640#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {10640#true} is VALID [2022-02-20 21:52:36,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {10640#true} assume true; {10640#true} is VALID [2022-02-20 21:52:36,401 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10640#true} {10642#(= ~dev_counter~0 0)} #891#return; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,406 INFO L290 TraceCheckUtils]: 0: Hoare triple {10640#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {10642#(= ~dev_counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,407 INFO L272 TraceCheckUtils]: 2: Hoare triple {10642#(= ~dev_counter~0 0)} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:36,407 INFO L290 TraceCheckUtils]: 3: Hoare triple {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {10640#true} is VALID [2022-02-20 21:52:36,407 INFO L290 TraceCheckUtils]: 4: Hoare triple {10640#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {10640#true} is VALID [2022-02-20 21:52:36,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {10640#true} assume true; {10640#true} is VALID [2022-02-20 21:52:36,408 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {10640#true} {10642#(= ~dev_counter~0 0)} #857#return; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {10642#(= ~dev_counter~0 0)} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,411 INFO L272 TraceCheckUtils]: 8: Hoare triple {10642#(= ~dev_counter~0 0)} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:36,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {10640#true} is VALID [2022-02-20 21:52:36,412 INFO L290 TraceCheckUtils]: 10: Hoare triple {10640#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {10640#true} is VALID [2022-02-20 21:52:36,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {10640#true} assume true; {10640#true} is VALID [2022-02-20 21:52:36,412 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10640#true} {10642#(= ~dev_counter~0 0)} #859#return; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {10642#(= ~dev_counter~0 0)} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,413 INFO L272 TraceCheckUtils]: 14: Hoare triple {10642#(= ~dev_counter~0 0)} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:36,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {10640#true} is VALID [2022-02-20 21:52:36,414 INFO L290 TraceCheckUtils]: 16: Hoare triple {10640#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {10640#true} is VALID [2022-02-20 21:52:36,414 INFO L290 TraceCheckUtils]: 17: Hoare triple {10640#true} assume true; {10640#true} is VALID [2022-02-20 21:52:36,414 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10640#true} {10642#(= ~dev_counter~0 0)} #861#return; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {10642#(= ~dev_counter~0 0)} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {10642#(= ~dev_counter~0 0)} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {10642#(= ~dev_counter~0 0)} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {10642#(= ~dev_counter~0 0)} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {10642#(= ~dev_counter~0 0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {10642#(= ~dev_counter~0 0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {10642#(= ~dev_counter~0 0)} assume main_#t~switch179#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {10642#(= ~dev_counter~0 0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {10642#(= ~dev_counter~0 0)} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,417 INFO L290 TraceCheckUtils]: 28: Hoare triple {10642#(= ~dev_counter~0 0)} assume main_#t~switch188#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {10642#(= ~dev_counter~0 0)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {10642#(= ~dev_counter~0 0)} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,418 INFO L272 TraceCheckUtils]: 31: Hoare triple {10642#(= ~dev_counter~0 0)} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:36,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {10659#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {10640#true} is VALID [2022-02-20 21:52:36,419 INFO L290 TraceCheckUtils]: 33: Hoare triple {10640#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {10640#true} is VALID [2022-02-20 21:52:36,419 INFO L290 TraceCheckUtils]: 34: Hoare triple {10640#true} assume true; {10640#true} is VALID [2022-02-20 21:52:36,419 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {10640#true} {10642#(= ~dev_counter~0 0)} #891#return; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,420 INFO L290 TraceCheckUtils]: 36: Hoare triple {10642#(= ~dev_counter~0 0)} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,420 INFO L290 TraceCheckUtils]: 37: Hoare triple {10642#(= ~dev_counter~0 0)} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,420 INFO L290 TraceCheckUtils]: 38: Hoare triple {10642#(= ~dev_counter~0 0)} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {10642#(= ~dev_counter~0 0)} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,421 INFO L290 TraceCheckUtils]: 40: Hoare triple {10642#(= ~dev_counter~0 0)} assume !(0 == ~ldv_retval_4~0); {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,421 INFO L290 TraceCheckUtils]: 41: Hoare triple {10642#(= ~dev_counter~0 0)} assume 0 != ~ldv_retval_4~0;~ldv_state_variable_0~0 := 2; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,421 INFO L290 TraceCheckUtils]: 42: Hoare triple {10642#(= ~dev_counter~0 0)} assume { :begin_inline_ldv_check_final_state } true; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,422 INFO L290 TraceCheckUtils]: 43: Hoare triple {10642#(= ~dev_counter~0 0)} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,422 INFO L290 TraceCheckUtils]: 44: Hoare triple {10642#(= ~dev_counter~0 0)} assume 0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616; {10642#(= ~dev_counter~0 0)} is VALID [2022-02-20 21:52:36,422 INFO L290 TraceCheckUtils]: 45: Hoare triple {10642#(= ~dev_counter~0 0)} assume !(0 == ~dev_counter~0); {10641#false} is VALID [2022-02-20 21:52:36,422 INFO L272 TraceCheckUtils]: 46: Hoare triple {10641#false} call ldv_error(); {10641#false} is VALID [2022-02-20 21:52:36,426 INFO L290 TraceCheckUtils]: 47: Hoare triple {10641#false} assume !false; {10641#false} is VALID [2022-02-20 21:52:36,427 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 21:52:36,427 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:36,427 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1674325174] [2022-02-20 21:52:36,427 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1674325174] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:36,427 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:52:36,427 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:52:36,428 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1218295456] [2022-02-20 21:52:36,428 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:36,428 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 48 [2022-02-20 21:52:36,429 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:36,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:36,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:36,462 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:52:36,462 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:36,463 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:52:36,463 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:52:36,463 INFO L87 Difference]: Start difference. First operand 646 states and 908 transitions. Second operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:37,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:37,568 INFO L93 Difference]: Finished difference Result 672 states and 949 transitions. [2022-02-20 21:52:37,568 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 21:52:37,568 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 48 [2022-02-20 21:52:37,568 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:52:37,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:37,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 503 transitions. [2022-02-20 21:52:37,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:37,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 503 transitions. [2022-02-20 21:52:37,578 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 503 transitions. [2022-02-20 21:52:37,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 503 edges. 503 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:37,972 INFO L225 Difference]: With dead ends: 672 [2022-02-20 21:52:37,972 INFO L226 Difference]: Without dead ends: 669 [2022-02-20 21:52:37,972 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:52:37,973 INFO L933 BasicCegarLoop]: 463 mSDtfsCounter, 439 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 134 mSolverCounterSat, 94 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 489 SdHoareTripleChecker+Valid, 710 SdHoareTripleChecker+Invalid, 228 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 94 IncrementalHoareTripleChecker+Valid, 134 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 21:52:37,973 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [489 Valid, 710 Invalid, 228 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [94 Valid, 134 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 21:52:37,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 669 states. [2022-02-20 21:52:37,990 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 669 to 645. [2022-02-20 21:52:37,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:52:37,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 669 states. Second operand has 645 states, 473 states have (on average 1.342494714587738) internal successors, (635), 479 states have internal predecessors, (635), 137 states have call successors, (137), 35 states have call predecessors, (137), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:37,993 INFO L74 IsIncluded]: Start isIncluded. First operand 669 states. Second operand has 645 states, 473 states have (on average 1.342494714587738) internal successors, (635), 479 states have internal predecessors, (635), 137 states have call successors, (137), 35 states have call predecessors, (137), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:37,994 INFO L87 Difference]: Start difference. First operand 669 states. Second operand has 645 states, 473 states have (on average 1.342494714587738) internal successors, (635), 479 states have internal predecessors, (635), 137 states have call successors, (137), 35 states have call predecessors, (137), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:38,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:38,014 INFO L93 Difference]: Finished difference Result 669 states and 946 transitions. [2022-02-20 21:52:38,014 INFO L276 IsEmpty]: Start isEmpty. Operand 669 states and 946 transitions. [2022-02-20 21:52:38,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:38,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:38,018 INFO L74 IsIncluded]: Start isIncluded. First operand has 645 states, 473 states have (on average 1.342494714587738) internal successors, (635), 479 states have internal predecessors, (635), 137 states have call successors, (137), 35 states have call predecessors, (137), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) Second operand 669 states. [2022-02-20 21:52:38,019 INFO L87 Difference]: Start difference. First operand has 645 states, 473 states have (on average 1.342494714587738) internal successors, (635), 479 states have internal predecessors, (635), 137 states have call successors, (137), 35 states have call predecessors, (137), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) Second operand 669 states. [2022-02-20 21:52:38,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:38,049 INFO L93 Difference]: Finished difference Result 669 states and 946 transitions. [2022-02-20 21:52:38,049 INFO L276 IsEmpty]: Start isEmpty. Operand 669 states and 946 transitions. [2022-02-20 21:52:38,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:38,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:38,051 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:52:38,051 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:52:38,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 645 states, 473 states have (on average 1.342494714587738) internal successors, (635), 479 states have internal predecessors, (635), 137 states have call successors, (137), 35 states have call predecessors, (137), 34 states have return successors, (134), 130 states have call predecessors, (134), 134 states have call successors, (134) [2022-02-20 21:52:38,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 645 states to 645 states and 906 transitions. [2022-02-20 21:52:38,077 INFO L78 Accepts]: Start accepts. Automaton has 645 states and 906 transitions. Word has length 48 [2022-02-20 21:52:38,078 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:52:38,078 INFO L470 AbstractCegarLoop]: Abstraction has 645 states and 906 transitions. [2022-02-20 21:52:38,078 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.5) internal successors, (30), 3 states have internal predecessors, (30), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:38,078 INFO L276 IsEmpty]: Start isEmpty. Operand 645 states and 906 transitions. [2022-02-20 21:52:38,079 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 21:52:38,079 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:38,079 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:52:38,079 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 21:52:38,080 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:38,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:38,080 INFO L85 PathProgramCache]: Analyzing trace with hash -1576628460, now seen corresponding path program 1 times [2022-02-20 21:52:38,080 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:38,080 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1500506858] [2022-02-20 21:52:38,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:38,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:38,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:38,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:38,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:38,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {13870#true} is VALID [2022-02-20 21:52:38,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {13870#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {13870#true} is VALID [2022-02-20 21:52:38,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {13870#true} assume true; {13870#true} is VALID [2022-02-20 21:52:38,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13870#true} {13872#(= ~INTERF_STATE~0 0)} #857#return; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,211 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:38,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:38,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {13870#true} is VALID [2022-02-20 21:52:38,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {13870#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {13870#true} is VALID [2022-02-20 21:52:38,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {13870#true} assume true; {13870#true} is VALID [2022-02-20 21:52:38,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13870#true} {13872#(= ~INTERF_STATE~0 0)} #859#return; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:38,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:38,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {13870#true} is VALID [2022-02-20 21:52:38,229 INFO L290 TraceCheckUtils]: 1: Hoare triple {13870#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {13870#true} is VALID [2022-02-20 21:52:38,229 INFO L290 TraceCheckUtils]: 2: Hoare triple {13870#true} assume true; {13870#true} is VALID [2022-02-20 21:52:38,229 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13870#true} {13872#(= ~INTERF_STATE~0 0)} #861#return; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,230 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 21:52:38,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:38,237 INFO L290 TraceCheckUtils]: 0: Hoare triple {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {13870#true} is VALID [2022-02-20 21:52:38,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {13870#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {13870#true} is VALID [2022-02-20 21:52:38,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {13870#true} assume true; {13870#true} is VALID [2022-02-20 21:52:38,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13870#true} {13872#(= ~INTERF_STATE~0 0)} #891#return; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,240 INFO L290 TraceCheckUtils]: 0: Hoare triple {13870#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,243 INFO L272 TraceCheckUtils]: 2: Hoare triple {13872#(= ~INTERF_STATE~0 0)} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:38,243 INFO L290 TraceCheckUtils]: 3: Hoare triple {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {13870#true} is VALID [2022-02-20 21:52:38,243 INFO L290 TraceCheckUtils]: 4: Hoare triple {13870#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {13870#true} is VALID [2022-02-20 21:52:38,244 INFO L290 TraceCheckUtils]: 5: Hoare triple {13870#true} assume true; {13870#true} is VALID [2022-02-20 21:52:38,244 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {13870#true} {13872#(= ~INTERF_STATE~0 0)} #857#return; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {13872#(= ~INTERF_STATE~0 0)} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,245 INFO L272 TraceCheckUtils]: 8: Hoare triple {13872#(= ~INTERF_STATE~0 0)} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:38,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {13870#true} is VALID [2022-02-20 21:52:38,245 INFO L290 TraceCheckUtils]: 10: Hoare triple {13870#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {13870#true} is VALID [2022-02-20 21:52:38,246 INFO L290 TraceCheckUtils]: 11: Hoare triple {13870#true} assume true; {13870#true} is VALID [2022-02-20 21:52:38,246 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13870#true} {13872#(= ~INTERF_STATE~0 0)} #859#return; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {13872#(= ~INTERF_STATE~0 0)} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,247 INFO L272 TraceCheckUtils]: 14: Hoare triple {13872#(= ~INTERF_STATE~0 0)} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:38,247 INFO L290 TraceCheckUtils]: 15: Hoare triple {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {13870#true} is VALID [2022-02-20 21:52:38,248 INFO L290 TraceCheckUtils]: 16: Hoare triple {13870#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {13870#true} is VALID [2022-02-20 21:52:38,248 INFO L290 TraceCheckUtils]: 17: Hoare triple {13870#true} assume true; {13870#true} is VALID [2022-02-20 21:52:38,248 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13870#true} {13872#(= ~INTERF_STATE~0 0)} #861#return; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,249 INFO L290 TraceCheckUtils]: 19: Hoare triple {13872#(= ~INTERF_STATE~0 0)} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,250 INFO L290 TraceCheckUtils]: 21: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume main_#t~switch179#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,252 INFO L290 TraceCheckUtils]: 26: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,252 INFO L290 TraceCheckUtils]: 28: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume main_#t~switch188#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,253 INFO L290 TraceCheckUtils]: 29: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,253 INFO L290 TraceCheckUtils]: 30: Hoare triple {13872#(= ~INTERF_STATE~0 0)} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,254 INFO L272 TraceCheckUtils]: 31: Hoare triple {13872#(= ~INTERF_STATE~0 0)} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:38,254 INFO L290 TraceCheckUtils]: 32: Hoare triple {13889#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {13870#true} is VALID [2022-02-20 21:52:38,254 INFO L290 TraceCheckUtils]: 33: Hoare triple {13870#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {13870#true} is VALID [2022-02-20 21:52:38,255 INFO L290 TraceCheckUtils]: 34: Hoare triple {13870#true} assume true; {13870#true} is VALID [2022-02-20 21:52:38,255 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13870#true} {13872#(= ~INTERF_STATE~0 0)} #891#return; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,256 INFO L290 TraceCheckUtils]: 36: Hoare triple {13872#(= ~INTERF_STATE~0 0)} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,256 INFO L290 TraceCheckUtils]: 37: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,256 INFO L290 TraceCheckUtils]: 38: Hoare triple {13872#(= ~INTERF_STATE~0 0)} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {13872#(= ~INTERF_STATE~0 0)} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume !(0 == ~ldv_retval_4~0); {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,257 INFO L290 TraceCheckUtils]: 41: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume 0 != ~ldv_retval_4~0;~ldv_state_variable_0~0 := 2; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,257 INFO L290 TraceCheckUtils]: 42: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume { :begin_inline_ldv_check_final_state } true; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,258 INFO L290 TraceCheckUtils]: 43: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,258 INFO L290 TraceCheckUtils]: 44: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume 0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,258 INFO L290 TraceCheckUtils]: 45: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume 0 == ~dev_counter~0; {13872#(= ~INTERF_STATE~0 0)} is VALID [2022-02-20 21:52:38,259 INFO L290 TraceCheckUtils]: 46: Hoare triple {13872#(= ~INTERF_STATE~0 0)} assume !(0 == ~INTERF_STATE~0); {13871#false} is VALID [2022-02-20 21:52:38,259 INFO L272 TraceCheckUtils]: 47: Hoare triple {13871#false} call ldv_error(); {13871#false} is VALID [2022-02-20 21:52:38,259 INFO L290 TraceCheckUtils]: 48: Hoare triple {13871#false} assume !false; {13871#false} is VALID [2022-02-20 21:52:38,260 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 21:52:38,261 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:38,261 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1500506858] [2022-02-20 21:52:38,261 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1500506858] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:38,261 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:52:38,261 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:52:38,261 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [189156621] [2022-02-20 21:52:38,261 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:38,262 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.75) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 49 [2022-02-20 21:52:38,262 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:38,262 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.75) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:38,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:38,299 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:52:38,299 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:38,299 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:52:38,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:52:38,299 INFO L87 Difference]: Start difference. First operand 645 states and 906 transitions. Second operand has 4 states, 4 states have (on average 7.75) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:40,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:40,467 INFO L93 Difference]: Finished difference Result 1952 states and 2756 transitions. [2022-02-20 21:52:40,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 21:52:40,468 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.75) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 49 [2022-02-20 21:52:40,468 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:52:40,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.75) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:40,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1438 transitions. [2022-02-20 21:52:40,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.75) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:40,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1438 transitions. [2022-02-20 21:52:40,496 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 1438 transitions. [2022-02-20 21:52:41,545 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1438 edges. 1438 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:41,634 INFO L225 Difference]: With dead ends: 1952 [2022-02-20 21:52:41,634 INFO L226 Difference]: Without dead ends: 1318 [2022-02-20 21:52:41,636 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:52:41,637 INFO L933 BasicCegarLoop]: 637 mSDtfsCounter, 463 mSDsluCounter, 672 mSDsCounter, 0 mSdLazyCounter, 333 mSolverCounterSat, 145 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 518 SdHoareTripleChecker+Valid, 1309 SdHoareTripleChecker+Invalid, 478 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 145 IncrementalHoareTripleChecker+Valid, 333 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 21:52:41,637 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [518 Valid, 1309 Invalid, 478 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [145 Valid, 333 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 21:52:41,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1318 states. [2022-02-20 21:52:41,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1318 to 1266. [2022-02-20 21:52:41,669 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:52:41,671 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1318 states. Second operand has 1266 states, 929 states have (on average 1.3444564047362755) internal successors, (1249), 939 states have internal predecessors, (1249), 268 states have call successors, (268), 69 states have call predecessors, (268), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) [2022-02-20 21:52:41,673 INFO L74 IsIncluded]: Start isIncluded. First operand 1318 states. Second operand has 1266 states, 929 states have (on average 1.3444564047362755) internal successors, (1249), 939 states have internal predecessors, (1249), 268 states have call successors, (268), 69 states have call predecessors, (268), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) [2022-02-20 21:52:41,675 INFO L87 Difference]: Start difference. First operand 1318 states. Second operand has 1266 states, 929 states have (on average 1.3444564047362755) internal successors, (1249), 939 states have internal predecessors, (1249), 268 states have call successors, (268), 69 states have call predecessors, (268), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) [2022-02-20 21:52:41,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:41,738 INFO L93 Difference]: Finished difference Result 1318 states and 1862 transitions. [2022-02-20 21:52:41,738 INFO L276 IsEmpty]: Start isEmpty. Operand 1318 states and 1862 transitions. [2022-02-20 21:52:41,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:41,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:41,745 INFO L74 IsIncluded]: Start isIncluded. First operand has 1266 states, 929 states have (on average 1.3444564047362755) internal successors, (1249), 939 states have internal predecessors, (1249), 268 states have call successors, (268), 69 states have call predecessors, (268), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) Second operand 1318 states. [2022-02-20 21:52:41,747 INFO L87 Difference]: Start difference. First operand has 1266 states, 929 states have (on average 1.3444564047362755) internal successors, (1249), 939 states have internal predecessors, (1249), 268 states have call successors, (268), 69 states have call predecessors, (268), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) Second operand 1318 states. [2022-02-20 21:52:41,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:41,819 INFO L93 Difference]: Finished difference Result 1318 states and 1862 transitions. [2022-02-20 21:52:41,819 INFO L276 IsEmpty]: Start isEmpty. Operand 1318 states and 1862 transitions. [2022-02-20 21:52:41,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:41,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:41,822 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:52:41,823 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:52:41,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1266 states, 929 states have (on average 1.3444564047362755) internal successors, (1249), 939 states have internal predecessors, (1249), 268 states have call successors, (268), 69 states have call predecessors, (268), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) [2022-02-20 21:52:41,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1266 states to 1266 states and 1782 transitions. [2022-02-20 21:52:41,903 INFO L78 Accepts]: Start accepts. Automaton has 1266 states and 1782 transitions. Word has length 49 [2022-02-20 21:52:41,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:52:41,904 INFO L470 AbstractCegarLoop]: Abstraction has 1266 states and 1782 transitions. [2022-02-20 21:52:41,904 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.75) internal successors, (31), 3 states have internal predecessors, (31), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:41,904 INFO L276 IsEmpty]: Start isEmpty. Operand 1266 states and 1782 transitions. [2022-02-20 21:52:41,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-02-20 21:52:41,906 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:41,906 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:52:41,906 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 21:52:41,906 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:41,907 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:41,907 INFO L85 PathProgramCache]: Analyzing trace with hash -1631036456, now seen corresponding path program 1 times [2022-02-20 21:52:41,908 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:41,908 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [84698850] [2022-02-20 21:52:41,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:41,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:41,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:42,004 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:42,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:42,011 INFO L290 TraceCheckUtils]: 0: Hoare triple {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {21087#true} is VALID [2022-02-20 21:52:42,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {21087#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {21087#true} is VALID [2022-02-20 21:52:42,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {21087#true} assume true; {21087#true} is VALID [2022-02-20 21:52:42,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21087#true} {21089#(= ~SERIAL_STATE~0 0)} #857#return; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,013 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:42,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:42,019 INFO L290 TraceCheckUtils]: 0: Hoare triple {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {21087#true} is VALID [2022-02-20 21:52:42,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {21087#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {21087#true} is VALID [2022-02-20 21:52:42,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {21087#true} assume true; {21087#true} is VALID [2022-02-20 21:52:42,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21087#true} {21089#(= ~SERIAL_STATE~0 0)} #859#return; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:42,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:42,027 INFO L290 TraceCheckUtils]: 0: Hoare triple {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {21087#true} is VALID [2022-02-20 21:52:42,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {21087#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {21087#true} is VALID [2022-02-20 21:52:42,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {21087#true} assume true; {21087#true} is VALID [2022-02-20 21:52:42,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21087#true} {21089#(= ~SERIAL_STATE~0 0)} #861#return; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,028 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 21:52:42,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:42,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {21087#true} is VALID [2022-02-20 21:52:42,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {21087#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {21087#true} is VALID [2022-02-20 21:52:42,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {21087#true} assume true; {21087#true} is VALID [2022-02-20 21:52:42,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21087#true} {21089#(= ~SERIAL_STATE~0 0)} #891#return; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,035 INFO L290 TraceCheckUtils]: 0: Hoare triple {21087#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,037 INFO L272 TraceCheckUtils]: 2: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:42,037 INFO L290 TraceCheckUtils]: 3: Hoare triple {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {21087#true} is VALID [2022-02-20 21:52:42,037 INFO L290 TraceCheckUtils]: 4: Hoare triple {21087#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {21087#true} is VALID [2022-02-20 21:52:42,037 INFO L290 TraceCheckUtils]: 5: Hoare triple {21087#true} assume true; {21087#true} is VALID [2022-02-20 21:52:42,038 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {21087#true} {21089#(= ~SERIAL_STATE~0 0)} #857#return; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,038 INFO L272 TraceCheckUtils]: 8: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:42,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {21087#true} is VALID [2022-02-20 21:52:42,039 INFO L290 TraceCheckUtils]: 10: Hoare triple {21087#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {21087#true} is VALID [2022-02-20 21:52:42,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {21087#true} assume true; {21087#true} is VALID [2022-02-20 21:52:42,039 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {21087#true} {21089#(= ~SERIAL_STATE~0 0)} #859#return; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,039 INFO L290 TraceCheckUtils]: 13: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,040 INFO L272 TraceCheckUtils]: 14: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:42,040 INFO L290 TraceCheckUtils]: 15: Hoare triple {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {21087#true} is VALID [2022-02-20 21:52:42,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {21087#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {21087#true} is VALID [2022-02-20 21:52:42,040 INFO L290 TraceCheckUtils]: 17: Hoare triple {21087#true} assume true; {21087#true} is VALID [2022-02-20 21:52:42,041 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21087#true} {21089#(= ~SERIAL_STATE~0 0)} #861#return; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,041 INFO L290 TraceCheckUtils]: 20: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,042 INFO L290 TraceCheckUtils]: 22: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,042 INFO L290 TraceCheckUtils]: 23: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,043 INFO L290 TraceCheckUtils]: 24: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,043 INFO L290 TraceCheckUtils]: 25: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume main_#t~switch179#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,043 INFO L290 TraceCheckUtils]: 26: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,044 INFO L290 TraceCheckUtils]: 28: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume main_#t~switch188#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,044 INFO L290 TraceCheckUtils]: 29: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,045 INFO L272 TraceCheckUtils]: 31: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:42,045 INFO L290 TraceCheckUtils]: 32: Hoare triple {21106#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {21087#true} is VALID [2022-02-20 21:52:42,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {21087#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {21087#true} is VALID [2022-02-20 21:52:42,045 INFO L290 TraceCheckUtils]: 34: Hoare triple {21087#true} assume true; {21087#true} is VALID [2022-02-20 21:52:42,046 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {21087#true} {21089#(= ~SERIAL_STATE~0 0)} #891#return; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,046 INFO L290 TraceCheckUtils]: 36: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,046 INFO L290 TraceCheckUtils]: 37: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,047 INFO L290 TraceCheckUtils]: 38: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,047 INFO L290 TraceCheckUtils]: 39: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,047 INFO L290 TraceCheckUtils]: 40: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume !(0 == ~ldv_retval_4~0); {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,048 INFO L290 TraceCheckUtils]: 41: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume 0 != ~ldv_retval_4~0;~ldv_state_variable_0~0 := 2; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,048 INFO L290 TraceCheckUtils]: 42: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume { :begin_inline_ldv_check_final_state } true; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,048 INFO L290 TraceCheckUtils]: 43: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,048 INFO L290 TraceCheckUtils]: 44: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume 0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,049 INFO L290 TraceCheckUtils]: 45: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume 0 == ~dev_counter~0; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,050 INFO L290 TraceCheckUtils]: 46: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume 0 == ~INTERF_STATE~0; {21089#(= ~SERIAL_STATE~0 0)} is VALID [2022-02-20 21:52:42,054 INFO L290 TraceCheckUtils]: 47: Hoare triple {21089#(= ~SERIAL_STATE~0 0)} assume !(0 == ~SERIAL_STATE~0); {21088#false} is VALID [2022-02-20 21:52:42,054 INFO L272 TraceCheckUtils]: 48: Hoare triple {21088#false} call ldv_error(); {21088#false} is VALID [2022-02-20 21:52:42,059 INFO L290 TraceCheckUtils]: 49: Hoare triple {21088#false} assume !false; {21088#false} is VALID [2022-02-20 21:52:42,060 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 21:52:42,060 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:42,060 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [84698850] [2022-02-20 21:52:42,060 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [84698850] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:42,060 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:52:42,060 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 21:52:42,060 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1318419849] [2022-02-20 21:52:42,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:42,061 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 8.0) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 50 [2022-02-20 21:52:42,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:42,062 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 8.0) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:42,100 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:42,101 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:52:42,101 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:42,101 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:52:42,101 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 21:52:42,101 INFO L87 Difference]: Start difference. First operand 1266 states and 1782 transitions. Second operand has 4 states, 4 states have (on average 8.0) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:43,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:43,236 INFO L93 Difference]: Finished difference Result 1316 states and 1860 transitions. [2022-02-20 21:52:43,236 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 21:52:43,236 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 8.0) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 50 [2022-02-20 21:52:43,237 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:52:43,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 8.0) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:43,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 501 transitions. [2022-02-20 21:52:43,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 8.0) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:43,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 501 transitions. [2022-02-20 21:52:43,247 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 501 transitions. [2022-02-20 21:52:43,635 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 501 edges. 501 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:43,711 INFO L225 Difference]: With dead ends: 1316 [2022-02-20 21:52:43,711 INFO L226 Difference]: Without dead ends: 1304 [2022-02-20 21:52:43,712 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:52:43,714 INFO L933 BasicCegarLoop]: 462 mSDtfsCounter, 435 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 93 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 485 SdHoareTripleChecker+Valid, 709 SdHoareTripleChecker+Invalid, 225 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 93 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 21:52:43,714 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [485 Valid, 709 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [93 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 21:52:43,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1304 states. [2022-02-20 21:52:43,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1304 to 1256. [2022-02-20 21:52:43,747 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:52:43,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1304 states. Second operand has 1256 states, 920 states have (on average 1.3434782608695652) internal successors, (1236), 929 states have internal predecessors, (1236), 267 states have call successors, (267), 69 states have call predecessors, (267), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) [2022-02-20 21:52:43,751 INFO L74 IsIncluded]: Start isIncluded. First operand 1304 states. Second operand has 1256 states, 920 states have (on average 1.3434782608695652) internal successors, (1236), 929 states have internal predecessors, (1236), 267 states have call successors, (267), 69 states have call predecessors, (267), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) [2022-02-20 21:52:43,753 INFO L87 Difference]: Start difference. First operand 1304 states. Second operand has 1256 states, 920 states have (on average 1.3434782608695652) internal successors, (1236), 929 states have internal predecessors, (1236), 267 states have call successors, (267), 69 states have call predecessors, (267), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) [2022-02-20 21:52:43,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:43,817 INFO L93 Difference]: Finished difference Result 1304 states and 1845 transitions. [2022-02-20 21:52:43,817 INFO L276 IsEmpty]: Start isEmpty. Operand 1304 states and 1845 transitions. [2022-02-20 21:52:43,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:43,821 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:43,823 INFO L74 IsIncluded]: Start isIncluded. First operand has 1256 states, 920 states have (on average 1.3434782608695652) internal successors, (1236), 929 states have internal predecessors, (1236), 267 states have call successors, (267), 69 states have call predecessors, (267), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) Second operand 1304 states. [2022-02-20 21:52:43,825 INFO L87 Difference]: Start difference. First operand has 1256 states, 920 states have (on average 1.3434782608695652) internal successors, (1236), 929 states have internal predecessors, (1236), 267 states have call successors, (267), 69 states have call predecessors, (267), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) Second operand 1304 states. [2022-02-20 21:52:43,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:43,883 INFO L93 Difference]: Finished difference Result 1304 states and 1845 transitions. [2022-02-20 21:52:43,883 INFO L276 IsEmpty]: Start isEmpty. Operand 1304 states and 1845 transitions. [2022-02-20 21:52:43,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:43,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:43,904 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:52:43,904 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:52:43,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1256 states, 920 states have (on average 1.3434782608695652) internal successors, (1236), 929 states have internal predecessors, (1236), 267 states have call successors, (267), 69 states have call predecessors, (267), 68 states have return successors, (265), 257 states have call predecessors, (265), 265 states have call successors, (265) [2022-02-20 21:52:43,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1256 states to 1256 states and 1768 transitions. [2022-02-20 21:52:43,979 INFO L78 Accepts]: Start accepts. Automaton has 1256 states and 1768 transitions. Word has length 50 [2022-02-20 21:52:43,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:52:43,979 INFO L470 AbstractCegarLoop]: Abstraction has 1256 states and 1768 transitions. [2022-02-20 21:52:43,979 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 8.0) internal successors, (32), 3 states have internal predecessors, (32), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 21:52:43,979 INFO L276 IsEmpty]: Start isEmpty. Operand 1256 states and 1768 transitions. [2022-02-20 21:52:43,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-02-20 21:52:43,981 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:43,982 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:52:43,982 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 21:52:43,982 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:43,982 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:43,982 INFO L85 PathProgramCache]: Analyzing trace with hash -1468685094, now seen corresponding path program 1 times [2022-02-20 21:52:43,983 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:43,983 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [398631172] [2022-02-20 21:52:43,983 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:43,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:44,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:44,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,060 INFO L290 TraceCheckUtils]: 0: Hoare triple {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {27358#true} is VALID [2022-02-20 21:52:44,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27358#true} {27358#true} #857#return; {27358#true} is VALID [2022-02-20 21:52:44,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:44,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,072 INFO L290 TraceCheckUtils]: 0: Hoare triple {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {27358#true} is VALID [2022-02-20 21:52:44,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27358#true} {27358#true} #859#return; {27358#true} is VALID [2022-02-20 21:52:44,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:44,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,079 INFO L290 TraceCheckUtils]: 0: Hoare triple {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {27358#true} is VALID [2022-02-20 21:52:44,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,080 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27358#true} {27358#true} #861#return; {27358#true} is VALID [2022-02-20 21:52:44,084 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-02-20 21:52:44,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {27401#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {27358#true} is VALID [2022-02-20 21:52:44,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume 0 != ~tmp___0~2;#res.base, #res.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27358#true} {27359#false} #923#return; {27359#false} is VALID [2022-02-20 21:52:44,094 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-02-20 21:52:44,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,098 INFO L290 TraceCheckUtils]: 0: Hoare triple {27358#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {27358#true} is VALID [2022-02-20 21:52:44,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,098 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {27358#true} {27359#false} #925#return; {27359#false} is VALID [2022-02-20 21:52:44,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-02-20 21:52:44,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,104 INFO L290 TraceCheckUtils]: 0: Hoare triple {27358#true} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {27358#true} is VALID [2022-02-20 21:52:44,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {27358#true} is VALID [2022-02-20 21:52:44,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27358#true} {27359#false} #927#return; {27359#false} is VALID [2022-02-20 21:52:44,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-02-20 21:52:44,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {27358#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {27358#true} is VALID [2022-02-20 21:52:44,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,109 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {27358#true} {27359#false} #931#return; {27359#false} is VALID [2022-02-20 21:52:44,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 57 [2022-02-20 21:52:44,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,114 INFO L290 TraceCheckUtils]: 0: Hoare triple {27358#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {27358#true} is VALID [2022-02-20 21:52:44,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,114 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {27358#true} {27359#false} #933#return; {27359#false} is VALID [2022-02-20 21:52:44,115 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-02-20 21:52:44,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,121 INFO L290 TraceCheckUtils]: 0: Hoare triple {27358#true} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {27358#true} is VALID [2022-02-20 21:52:44,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,122 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {27358#true} {27359#false} #935#return; {27359#false} is VALID [2022-02-20 21:52:44,122 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-02-20 21:52:44,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,126 INFO L290 TraceCheckUtils]: 0: Hoare triple {27358#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {27358#true} is VALID [2022-02-20 21:52:44,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,126 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {27358#true} {27359#false} #979#return; {27359#false} is VALID [2022-02-20 21:52:44,127 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 89 [2022-02-20 21:52:44,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:44,131 INFO L290 TraceCheckUtils]: 0: Hoare triple {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {27358#true} is VALID [2022-02-20 21:52:44,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,132 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27358#true} {27359#false} #891#return; {27359#false} is VALID [2022-02-20 21:52:44,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {27358#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {27358#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {27358#true} is VALID [2022-02-20 21:52:44,133 INFO L272 TraceCheckUtils]: 2: Hoare triple {27358#true} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:44,133 INFO L290 TraceCheckUtils]: 3: Hoare triple {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {27358#true} is VALID [2022-02-20 21:52:44,133 INFO L290 TraceCheckUtils]: 4: Hoare triple {27358#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,133 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {27358#true} {27358#true} #857#return; {27358#true} is VALID [2022-02-20 21:52:44,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {27358#true} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {27358#true} is VALID [2022-02-20 21:52:44,134 INFO L272 TraceCheckUtils]: 8: Hoare triple {27358#true} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:44,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {27358#true} is VALID [2022-02-20 21:52:44,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {27358#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,134 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {27358#true} {27358#true} #859#return; {27358#true} is VALID [2022-02-20 21:52:44,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {27358#true} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {27358#true} is VALID [2022-02-20 21:52:44,135 INFO L272 TraceCheckUtils]: 14: Hoare triple {27358#true} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:44,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {27358#true} is VALID [2022-02-20 21:52:44,136 INFO L290 TraceCheckUtils]: 16: Hoare triple {27358#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,136 INFO L290 TraceCheckUtils]: 17: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,136 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {27358#true} {27358#true} #861#return; {27358#true} is VALID [2022-02-20 21:52:44,136 INFO L290 TraceCheckUtils]: 19: Hoare triple {27358#true} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {27358#true} is VALID [2022-02-20 21:52:44,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {27358#true} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {27358#true} is VALID [2022-02-20 21:52:44,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {27358#true} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {27358#true} is VALID [2022-02-20 21:52:44,137 INFO L290 TraceCheckUtils]: 22: Hoare triple {27358#true} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {27372#(= ~ldv_state_variable_2~0 0)} is VALID [2022-02-20 21:52:44,137 INFO L290 TraceCheckUtils]: 23: Hoare triple {27372#(= ~ldv_state_variable_2~0 0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {27372#(= ~ldv_state_variable_2~0 0)} is VALID [2022-02-20 21:52:44,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {27372#(= ~ldv_state_variable_2~0 0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {27372#(= ~ldv_state_variable_2~0 0)} is VALID [2022-02-20 21:52:44,138 INFO L290 TraceCheckUtils]: 25: Hoare triple {27372#(= ~ldv_state_variable_2~0 0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 2 == main_~tmp___5~1#1; {27372#(= ~ldv_state_variable_2~0 0)} is VALID [2022-02-20 21:52:44,138 INFO L290 TraceCheckUtils]: 26: Hoare triple {27372#(= ~ldv_state_variable_2~0 0)} assume main_#t~switch179#1; {27372#(= ~ldv_state_variable_2~0 0)} is VALID [2022-02-20 21:52:44,138 INFO L290 TraceCheckUtils]: 27: Hoare triple {27372#(= ~ldv_state_variable_2~0 0)} assume 0 != ~ldv_state_variable_2~0;assume -2147483648 <= main_#t~nondet190#1 && main_#t~nondet190#1 <= 2147483647;main_~tmp___8~1#1 := main_#t~nondet190#1;havoc main_#t~nondet190#1;main_#t~switch191#1 := 0 == main_~tmp___8~1#1; {27359#false} is VALID [2022-02-20 21:52:44,139 INFO L290 TraceCheckUtils]: 28: Hoare triple {27359#false} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 1 == main_~tmp___8~1#1; {27359#false} is VALID [2022-02-20 21:52:44,139 INFO L290 TraceCheckUtils]: 29: Hoare triple {27359#false} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 2 == main_~tmp___8~1#1; {27359#false} is VALID [2022-02-20 21:52:44,139 INFO L290 TraceCheckUtils]: 30: Hoare triple {27359#false} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 3 == main_~tmp___8~1#1; {27359#false} is VALID [2022-02-20 21:52:44,139 INFO L290 TraceCheckUtils]: 31: Hoare triple {27359#false} assume main_#t~switch191#1; {27359#false} is VALID [2022-02-20 21:52:44,139 INFO L290 TraceCheckUtils]: 32: Hoare triple {27359#false} assume 1 == ~ldv_state_variable_2~0;assume { :begin_inline_idmouse_open } true;idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset, idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset := ~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset, ~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset;havoc idmouse_open_#res#1;havoc idmouse_open_#t~ret131#1, idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset, idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset, idmouse_open_#t~mem134#1, idmouse_open_#t~ret135#1, idmouse_open_#t~ret136#1, idmouse_open_#t~mem137#1, idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset, idmouse_open_~file#1.base, idmouse_open_~file#1.offset, idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset, idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset, idmouse_open_~result~1#1, idmouse_open_~tmp~10#1, idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset := idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset;idmouse_open_~file#1.base, idmouse_open_~file#1.offset := idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset;havoc idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset;havoc idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc idmouse_open_~result~1#1;havoc idmouse_open_~tmp~10#1;havoc idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;assume { :begin_inline_iminor } true;iminor_#in~inode#1.base, iminor_#in~inode#1.offset := idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset;havoc iminor_#res#1;havoc iminor_#t~mem27#1, iminor_~inode#1.base, iminor_~inode#1.offset;iminor_~inode#1.base, iminor_~inode#1.offset := iminor_#in~inode#1.base, iminor_#in~inode#1.offset;call iminor_#t~mem27#1 := read~int(iminor_~inode#1.base, 76 + iminor_~inode#1.offset, 4);iminor_#res#1 := (if 0 == iminor_#t~mem27#1 then 0 else (if 1 == iminor_#t~mem27#1 then 1 else ~bitwiseAnd(iminor_#t~mem27#1, 1048575)));havoc iminor_#t~mem27#1; {27359#false} is VALID [2022-02-20 21:52:44,139 INFO L290 TraceCheckUtils]: 33: Hoare triple {27359#false} idmouse_open_#t~ret131#1 := iminor_#res#1;assume { :end_inline_iminor } true;idmouse_open_~tmp~10#1 := idmouse_open_#t~ret131#1;havoc idmouse_open_#t~ret131#1;assume { :begin_inline_usb_find_interface } true;usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset, usb_find_interface_#in~arg1#1 := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, (if idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 <= 2147483647 then idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 else idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 - 4294967296);havoc usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset, usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset, usb_find_interface_~arg1#1;usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset := usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset;usb_find_interface_~arg1#1 := usb_find_interface_#in~arg1#1; {27359#false} is VALID [2022-02-20 21:52:44,139 INFO L272 TraceCheckUtils]: 34: Hoare triple {27359#false} call usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset := ldv_malloc(1434); {27401#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:44,140 INFO L290 TraceCheckUtils]: 35: Hoare triple {27401#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {27358#true} is VALID [2022-02-20 21:52:44,140 INFO L290 TraceCheckUtils]: 36: Hoare triple {27358#true} assume 0 != ~tmp___0~2;#res.base, #res.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,140 INFO L290 TraceCheckUtils]: 37: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,140 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {27358#true} {27359#false} #923#return; {27359#false} is VALID [2022-02-20 21:52:44,140 INFO L290 TraceCheckUtils]: 39: Hoare triple {27359#false} usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset := usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset; {27359#false} is VALID [2022-02-20 21:52:44,140 INFO L290 TraceCheckUtils]: 40: Hoare triple {27359#false} idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset := usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;assume { :end_inline_usb_find_interface } true;idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset := idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset;havoc idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset; {27359#false} is VALID [2022-02-20 21:52:44,140 INFO L290 TraceCheckUtils]: 41: Hoare triple {27359#false} assume !(0 == (idmouse_open_~interface~0#1.base + idmouse_open_~interface~0#1.offset) % 18446744073709551616); {27359#false} is VALID [2022-02-20 21:52:44,140 INFO L272 TraceCheckUtils]: 42: Hoare triple {27359#false} call mutex_lock_nested(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 0); {27358#true} is VALID [2022-02-20 21:52:44,140 INFO L290 TraceCheckUtils]: 43: Hoare triple {27358#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {27358#true} is VALID [2022-02-20 21:52:44,141 INFO L290 TraceCheckUtils]: 44: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,141 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {27358#true} {27359#false} #925#return; {27359#false} is VALID [2022-02-20 21:52:44,141 INFO L272 TraceCheckUtils]: 46: Hoare triple {27359#false} call idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset := ldv_usb_get_intfdata_2(idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset); {27358#true} is VALID [2022-02-20 21:52:44,141 INFO L290 TraceCheckUtils]: 47: Hoare triple {27358#true} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {27358#true} is VALID [2022-02-20 21:52:44,141 INFO L290 TraceCheckUtils]: 48: Hoare triple {27358#true} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {27358#true} is VALID [2022-02-20 21:52:44,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,141 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {27358#true} {27359#false} #927#return; {27359#false} is VALID [2022-02-20 21:52:44,141 INFO L290 TraceCheckUtils]: 51: Hoare triple {27359#false} idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset := idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;havoc idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset := idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset; {27359#false} is VALID [2022-02-20 21:52:44,141 INFO L290 TraceCheckUtils]: 52: Hoare triple {27359#false} assume !(0 == (idmouse_open_~dev~0#1.base + idmouse_open_~dev~0#1.offset) % 18446744073709551616); {27359#false} is VALID [2022-02-20 21:52:44,142 INFO L272 TraceCheckUtils]: 53: Hoare triple {27359#false} call mutex_lock_nested(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset, 0); {27358#true} is VALID [2022-02-20 21:52:44,143 INFO L290 TraceCheckUtils]: 54: Hoare triple {27358#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {27358#true} is VALID [2022-02-20 21:52:44,143 INFO L290 TraceCheckUtils]: 55: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,143 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {27358#true} {27359#false} #931#return; {27359#false} is VALID [2022-02-20 21:52:44,143 INFO L272 TraceCheckUtils]: 57: Hoare triple {27359#false} call mutex_unlock(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset); {27358#true} is VALID [2022-02-20 21:52:44,143 INFO L290 TraceCheckUtils]: 58: Hoare triple {27358#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {27358#true} is VALID [2022-02-20 21:52:44,143 INFO L290 TraceCheckUtils]: 59: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,143 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {27358#true} {27359#false} #933#return; {27359#false} is VALID [2022-02-20 21:52:44,144 INFO L290 TraceCheckUtils]: 61: Hoare triple {27359#false} call idmouse_open_#t~mem134#1 := read~int(idmouse_open_~dev~0#1.base, 41 + idmouse_open_~dev~0#1.offset, 4); {27359#false} is VALID [2022-02-20 21:52:44,144 INFO L290 TraceCheckUtils]: 62: Hoare triple {27359#false} assume !(0 != idmouse_open_#t~mem134#1);havoc idmouse_open_#t~mem134#1;assume { :begin_inline_ldv_usb_autopm_get_interface_3 } true;ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset := idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc ldv_usb_autopm_get_interface_3_#res#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset, ldv_usb_autopm_get_interface_3_~tmp~20#1;ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset := ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset;havoc ldv_usb_autopm_get_interface_3_~tmp~20#1;assume { :begin_inline_ldv_get_interface } true;ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset := ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset;havoc ldv_get_interface_#res#1;havoc ldv_get_interface_#t~ret205#1, ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset, ldv_get_interface_~res~1#1, ldv_get_interface_~tmp~25#1;ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset := ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset;havoc ldv_get_interface_~res~1#1;havoc ldv_get_interface_~tmp~25#1; {27359#false} is VALID [2022-02-20 21:52:44,144 INFO L272 TraceCheckUtils]: 63: Hoare triple {27359#false} call ldv_get_interface_#t~ret205#1 := ldv_undef_int(); {27358#true} is VALID [2022-02-20 21:52:44,144 INFO L290 TraceCheckUtils]: 64: Hoare triple {27358#true} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {27358#true} is VALID [2022-02-20 21:52:44,144 INFO L290 TraceCheckUtils]: 65: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,144 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27358#true} {27359#false} #935#return; {27359#false} is VALID [2022-02-20 21:52:44,144 INFO L290 TraceCheckUtils]: 67: Hoare triple {27359#false} assume -2147483648 <= ldv_get_interface_#t~ret205#1 && ldv_get_interface_#t~ret205#1 <= 2147483647;ldv_get_interface_~tmp~25#1 := ldv_get_interface_#t~ret205#1;havoc ldv_get_interface_#t~ret205#1;ldv_get_interface_~res~1#1 := ldv_get_interface_~tmp~25#1; {27359#false} is VALID [2022-02-20 21:52:44,144 INFO L290 TraceCheckUtils]: 68: Hoare triple {27359#false} assume ldv_get_interface_~res~1#1 <= 0; {27359#false} is VALID [2022-02-20 21:52:44,144 INFO L290 TraceCheckUtils]: 69: Hoare triple {27359#false} assume 0 == ldv_get_interface_~res~1#1;~INTERF_STATE~0 := 1 + ~INTERF_STATE~0; {27359#false} is VALID [2022-02-20 21:52:44,145 INFO L290 TraceCheckUtils]: 70: Hoare triple {27359#false} ldv_get_interface_#res#1 := ldv_get_interface_~res~1#1; {27359#false} is VALID [2022-02-20 21:52:44,145 INFO L290 TraceCheckUtils]: 71: Hoare triple {27359#false} ldv_usb_autopm_get_interface_3_#t~ret198#1 := ldv_get_interface_#res#1;assume { :end_inline_ldv_get_interface } true;assume -2147483648 <= ldv_usb_autopm_get_interface_3_#t~ret198#1 && ldv_usb_autopm_get_interface_3_#t~ret198#1 <= 2147483647;ldv_usb_autopm_get_interface_3_~tmp~20#1 := ldv_usb_autopm_get_interface_3_#t~ret198#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1;ldv_usb_autopm_get_interface_3_#res#1 := ldv_usb_autopm_get_interface_3_~tmp~20#1; {27359#false} is VALID [2022-02-20 21:52:44,145 INFO L290 TraceCheckUtils]: 72: Hoare triple {27359#false} idmouse_open_#t~ret135#1 := ldv_usb_autopm_get_interface_3_#res#1;assume { :end_inline_ldv_usb_autopm_get_interface_3 } true;assume -2147483648 <= idmouse_open_#t~ret135#1 && idmouse_open_#t~ret135#1 <= 2147483647;idmouse_open_~result~1#1 := idmouse_open_#t~ret135#1;havoc idmouse_open_#t~ret135#1; {27359#false} is VALID [2022-02-20 21:52:44,145 INFO L290 TraceCheckUtils]: 73: Hoare triple {27359#false} assume 0 != idmouse_open_~result~1#1; {27359#false} is VALID [2022-02-20 21:52:44,145 INFO L272 TraceCheckUtils]: 74: Hoare triple {27359#false} call mutex_unlock(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset); {27358#true} is VALID [2022-02-20 21:52:44,145 INFO L290 TraceCheckUtils]: 75: Hoare triple {27358#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {27358#true} is VALID [2022-02-20 21:52:44,145 INFO L290 TraceCheckUtils]: 76: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,145 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27358#true} {27359#false} #979#return; {27359#false} is VALID [2022-02-20 21:52:44,145 INFO L290 TraceCheckUtils]: 78: Hoare triple {27359#false} idmouse_open_#res#1 := idmouse_open_~result~1#1; {27359#false} is VALID [2022-02-20 21:52:44,146 INFO L290 TraceCheckUtils]: 79: Hoare triple {27359#false} main_#t~ret195#1 := idmouse_open_#res#1;assume { :end_inline_idmouse_open } true;assume -2147483648 <= main_#t~ret195#1 && main_#t~ret195#1 <= 2147483647;~ldv_retval_5~0 := main_#t~ret195#1;havoc main_#t~ret195#1; {27359#false} is VALID [2022-02-20 21:52:44,146 INFO L290 TraceCheckUtils]: 80: Hoare triple {27359#false} assume 0 == ~ldv_retval_5~0;~ldv_state_variable_2~0 := 2;~ref_cnt~0 := 1 + ~ref_cnt~0; {27359#false} is VALID [2022-02-20 21:52:44,146 INFO L290 TraceCheckUtils]: 81: Hoare triple {27359#false} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {27359#false} is VALID [2022-02-20 21:52:44,147 INFO L290 TraceCheckUtils]: 82: Hoare triple {27359#false} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {27359#false} is VALID [2022-02-20 21:52:44,147 INFO L290 TraceCheckUtils]: 83: Hoare triple {27359#false} assume main_#t~switch179#1; {27359#false} is VALID [2022-02-20 21:52:44,147 INFO L290 TraceCheckUtils]: 84: Hoare triple {27359#false} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {27359#false} is VALID [2022-02-20 21:52:44,147 INFO L290 TraceCheckUtils]: 85: Hoare triple {27359#false} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {27359#false} is VALID [2022-02-20 21:52:44,147 INFO L290 TraceCheckUtils]: 86: Hoare triple {27359#false} assume main_#t~switch188#1; {27359#false} is VALID [2022-02-20 21:52:44,147 INFO L290 TraceCheckUtils]: 87: Hoare triple {27359#false} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {27359#false} is VALID [2022-02-20 21:52:44,147 INFO L290 TraceCheckUtils]: 88: Hoare triple {27359#false} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {27359#false} is VALID [2022-02-20 21:52:44,147 INFO L272 TraceCheckUtils]: 89: Hoare triple {27359#false} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 90: Hoare triple {27400#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {27358#true} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 91: Hoare triple {27358#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {27358#true} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 92: Hoare triple {27358#true} assume true; {27358#true} is VALID [2022-02-20 21:52:44,148 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {27358#true} {27359#false} #891#return; {27359#false} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 94: Hoare triple {27359#false} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {27359#false} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 95: Hoare triple {27359#false} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {27359#false} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 96: Hoare triple {27359#false} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {27359#false} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 97: Hoare triple {27359#false} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {27359#false} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 98: Hoare triple {27359#false} assume !(0 == ~ldv_retval_4~0); {27359#false} is VALID [2022-02-20 21:52:44,148 INFO L290 TraceCheckUtils]: 99: Hoare triple {27359#false} assume 0 != ~ldv_retval_4~0;~ldv_state_variable_0~0 := 2; {27359#false} is VALID [2022-02-20 21:52:44,149 INFO L290 TraceCheckUtils]: 100: Hoare triple {27359#false} assume { :begin_inline_ldv_check_final_state } true; {27359#false} is VALID [2022-02-20 21:52:44,149 INFO L290 TraceCheckUtils]: 101: Hoare triple {27359#false} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {27359#false} is VALID [2022-02-20 21:52:44,149 INFO L290 TraceCheckUtils]: 102: Hoare triple {27359#false} assume 0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616; {27359#false} is VALID [2022-02-20 21:52:44,149 INFO L290 TraceCheckUtils]: 103: Hoare triple {27359#false} assume 0 == ~dev_counter~0; {27359#false} is VALID [2022-02-20 21:52:44,149 INFO L290 TraceCheckUtils]: 104: Hoare triple {27359#false} assume !(0 == ~INTERF_STATE~0); {27359#false} is VALID [2022-02-20 21:52:44,149 INFO L272 TraceCheckUtils]: 105: Hoare triple {27359#false} call ldv_error(); {27359#false} is VALID [2022-02-20 21:52:44,149 INFO L290 TraceCheckUtils]: 106: Hoare triple {27359#false} assume !false; {27359#false} is VALID [2022-02-20 21:52:44,150 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-02-20 21:52:44,150 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:44,150 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [398631172] [2022-02-20 21:52:44,150 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [398631172] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:44,151 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:52:44,151 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 21:52:44,151 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2099213779] [2022-02-20 21:52:44,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:44,151 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 3 states have internal predecessors, (71), 2 states have call successors, (12), 4 states have call predecessors, (12), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 107 [2022-02-20 21:52:44,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:44,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 14.2) internal successors, (71), 3 states have internal predecessors, (71), 2 states have call successors, (12), 4 states have call predecessors, (12), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-02-20 21:52:44,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:44,218 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 21:52:44,218 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:44,219 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 21:52:44,219 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 21:52:44,219 INFO L87 Difference]: Start difference. First operand 1256 states and 1768 transitions. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 3 states have internal predecessors, (71), 2 states have call successors, (12), 4 states have call predecessors, (12), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-02-20 21:52:46,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:46,412 INFO L93 Difference]: Finished difference Result 3199 states and 4459 transitions. [2022-02-20 21:52:46,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 21:52:46,412 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 3 states have internal predecessors, (71), 2 states have call successors, (12), 4 states have call predecessors, (12), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 107 [2022-02-20 21:52:46,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:52:46,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 3 states have internal predecessors, (71), 2 states have call successors, (12), 4 states have call predecessors, (12), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-02-20 21:52:46,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 1189 transitions. [2022-02-20 21:52:46,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 3 states have internal predecessors, (71), 2 states have call successors, (12), 4 states have call predecessors, (12), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-02-20 21:52:46,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 1189 transitions. [2022-02-20 21:52:46,431 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 1189 transitions. [2022-02-20 21:52:47,219 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1189 edges. 1189 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:47,401 INFO L225 Difference]: With dead ends: 3199 [2022-02-20 21:52:47,401 INFO L226 Difference]: Without dead ends: 1954 [2022-02-20 21:52:47,404 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 21:52:47,404 INFO L933 BasicCegarLoop]: 493 mSDtfsCounter, 357 mSDsluCounter, 622 mSDsCounter, 0 mSdLazyCounter, 270 mSolverCounterSat, 242 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 377 SdHoareTripleChecker+Valid, 1115 SdHoareTripleChecker+Invalid, 512 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 242 IncrementalHoareTripleChecker+Valid, 270 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 21:52:47,405 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [377 Valid, 1115 Invalid, 512 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [242 Valid, 270 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 21:52:47,406 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1954 states. [2022-02-20 21:52:47,459 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1954 to 1841. [2022-02-20 21:52:47,459 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:52:47,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1954 states. Second operand has 1841 states, 1357 states have (on average 1.3352984524686808) internal successors, (1812), 1370 states have internal predecessors, (1812), 368 states have call successors, (368), 116 states have call predecessors, (368), 115 states have return successors, (366), 354 states have call predecessors, (366), 366 states have call successors, (366) [2022-02-20 21:52:47,465 INFO L74 IsIncluded]: Start isIncluded. First operand 1954 states. Second operand has 1841 states, 1357 states have (on average 1.3352984524686808) internal successors, (1812), 1370 states have internal predecessors, (1812), 368 states have call successors, (368), 116 states have call predecessors, (368), 115 states have return successors, (366), 354 states have call predecessors, (366), 366 states have call successors, (366) [2022-02-20 21:52:47,467 INFO L87 Difference]: Start difference. First operand 1954 states. Second operand has 1841 states, 1357 states have (on average 1.3352984524686808) internal successors, (1812), 1370 states have internal predecessors, (1812), 368 states have call successors, (368), 116 states have call predecessors, (368), 115 states have return successors, (366), 354 states have call predecessors, (366), 366 states have call successors, (366) [2022-02-20 21:52:47,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:47,586 INFO L93 Difference]: Finished difference Result 1954 states and 2702 transitions. [2022-02-20 21:52:47,586 INFO L276 IsEmpty]: Start isEmpty. Operand 1954 states and 2702 transitions. [2022-02-20 21:52:47,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:47,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:47,594 INFO L74 IsIncluded]: Start isIncluded. First operand has 1841 states, 1357 states have (on average 1.3352984524686808) internal successors, (1812), 1370 states have internal predecessors, (1812), 368 states have call successors, (368), 116 states have call predecessors, (368), 115 states have return successors, (366), 354 states have call predecessors, (366), 366 states have call successors, (366) Second operand 1954 states. [2022-02-20 21:52:47,596 INFO L87 Difference]: Start difference. First operand has 1841 states, 1357 states have (on average 1.3352984524686808) internal successors, (1812), 1370 states have internal predecessors, (1812), 368 states have call successors, (368), 116 states have call predecessors, (368), 115 states have return successors, (366), 354 states have call predecessors, (366), 366 states have call successors, (366) Second operand 1954 states. [2022-02-20 21:52:47,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:47,720 INFO L93 Difference]: Finished difference Result 1954 states and 2702 transitions. [2022-02-20 21:52:47,720 INFO L276 IsEmpty]: Start isEmpty. Operand 1954 states and 2702 transitions. [2022-02-20 21:52:47,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:47,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:47,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:52:47,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:52:47,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1841 states, 1357 states have (on average 1.3352984524686808) internal successors, (1812), 1370 states have internal predecessors, (1812), 368 states have call successors, (368), 116 states have call predecessors, (368), 115 states have return successors, (366), 354 states have call predecessors, (366), 366 states have call successors, (366) [2022-02-20 21:52:47,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1841 states to 1841 states and 2546 transitions. [2022-02-20 21:52:47,885 INFO L78 Accepts]: Start accepts. Automaton has 1841 states and 2546 transitions. Word has length 107 [2022-02-20 21:52:47,885 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:52:47,885 INFO L470 AbstractCegarLoop]: Abstraction has 1841 states and 2546 transitions. [2022-02-20 21:52:47,885 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 3 states have internal predecessors, (71), 2 states have call successors, (12), 4 states have call predecessors, (12), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-02-20 21:52:47,886 INFO L276 IsEmpty]: Start isEmpty. Operand 1841 states and 2546 transitions. [2022-02-20 21:52:47,892 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-02-20 21:52:47,892 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:47,892 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:52:47,892 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 21:52:47,893 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:47,893 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:47,893 INFO L85 PathProgramCache]: Analyzing trace with hash 188231278, now seen corresponding path program 1 times [2022-02-20 21:52:47,893 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:47,893 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [421438814] [2022-02-20 21:52:47,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:47,894 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:47,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,012 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:48,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,019 INFO L290 TraceCheckUtils]: 0: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,019 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38386#true} {38386#true} #857#return; {38386#true} is VALID [2022-02-20 21:52:48,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:48,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,030 INFO L290 TraceCheckUtils]: 0: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38386#true} {38386#true} #859#return; {38386#true} is VALID [2022-02-20 21:52:48,031 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:48,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,036 INFO L290 TraceCheckUtils]: 0: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38386#true} {38386#true} #861#return; {38386#true} is VALID [2022-02-20 21:52:48,037 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 21:52:48,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,044 INFO L290 TraceCheckUtils]: 0: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #891#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,045 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 41 [2022-02-20 21:52:48,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,051 INFO L290 TraceCheckUtils]: 0: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #893#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,052 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 21:52:48,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,060 INFO L290 TraceCheckUtils]: 0: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #895#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 66 [2022-02-20 21:52:48,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,083 INFO L290 TraceCheckUtils]: 0: Hoare triple {38438#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {38386#true} is VALID [2022-02-20 21:52:48,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume 0 != ~tmp___0~2;#res.base, #res.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,084 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #923#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,084 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-02-20 21:52:48,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,090 INFO L290 TraceCheckUtils]: 0: Hoare triple {38386#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {38386#true} is VALID [2022-02-20 21:52:48,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,091 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #925#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,091 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 78 [2022-02-20 21:52:48,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,095 INFO L290 TraceCheckUtils]: 0: Hoare triple {38386#true} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {38386#true} is VALID [2022-02-20 21:52:48,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {38386#true} is VALID [2022-02-20 21:52:48,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #927#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,096 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 85 [2022-02-20 21:52:48,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,103 INFO L290 TraceCheckUtils]: 0: Hoare triple {38386#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {38386#true} is VALID [2022-02-20 21:52:48,103 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,103 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #931#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,103 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 89 [2022-02-20 21:52:48,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {38386#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {38386#true} is VALID [2022-02-20 21:52:48,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,109 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #933#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 95 [2022-02-20 21:52:48,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {38386#true} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {38386#true} is VALID [2022-02-20 21:52:48,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,114 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #935#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 106 [2022-02-20 21:52:48,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {38386#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {38386#true} is VALID [2022-02-20 21:52:48,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,121 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #979#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,121 INFO L290 TraceCheckUtils]: 0: Hoare triple {38386#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {38386#true} is VALID [2022-02-20 21:52:48,122 INFO L272 TraceCheckUtils]: 2: Hoare triple {38386#true} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:48,122 INFO L290 TraceCheckUtils]: 3: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,122 INFO L290 TraceCheckUtils]: 4: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,122 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {38386#true} {38386#true} #857#return; {38386#true} is VALID [2022-02-20 21:52:48,122 INFO L290 TraceCheckUtils]: 7: Hoare triple {38386#true} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {38386#true} is VALID [2022-02-20 21:52:48,123 INFO L272 TraceCheckUtils]: 8: Hoare triple {38386#true} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:48,123 INFO L290 TraceCheckUtils]: 9: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,123 INFO L290 TraceCheckUtils]: 10: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,123 INFO L290 TraceCheckUtils]: 11: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,123 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {38386#true} {38386#true} #859#return; {38386#true} is VALID [2022-02-20 21:52:48,123 INFO L290 TraceCheckUtils]: 13: Hoare triple {38386#true} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {38386#true} is VALID [2022-02-20 21:52:48,124 INFO L272 TraceCheckUtils]: 14: Hoare triple {38386#true} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:48,124 INFO L290 TraceCheckUtils]: 15: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,124 INFO L290 TraceCheckUtils]: 16: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,124 INFO L290 TraceCheckUtils]: 17: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,124 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {38386#true} {38386#true} #861#return; {38386#true} is VALID [2022-02-20 21:52:48,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {38386#true} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {38386#true} is VALID [2022-02-20 21:52:48,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {38386#true} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {38386#true} is VALID [2022-02-20 21:52:48,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {38386#true} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {38386#true} is VALID [2022-02-20 21:52:48,125 INFO L290 TraceCheckUtils]: 22: Hoare triple {38386#true} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {38400#(= ~ref_cnt~0 0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {38400#(= ~ref_cnt~0 0)} assume main_#t~switch179#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,126 INFO L290 TraceCheckUtils]: 26: Hoare triple {38400#(= ~ref_cnt~0 0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,126 INFO L290 TraceCheckUtils]: 27: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,126 INFO L290 TraceCheckUtils]: 28: Hoare triple {38400#(= ~ref_cnt~0 0)} assume main_#t~switch188#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,126 INFO L290 TraceCheckUtils]: 29: Hoare triple {38400#(= ~ref_cnt~0 0)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,127 INFO L290 TraceCheckUtils]: 30: Hoare triple {38400#(= ~ref_cnt~0 0)} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,127 INFO L272 TraceCheckUtils]: 31: Hoare triple {38400#(= ~ref_cnt~0 0)} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:48,127 INFO L290 TraceCheckUtils]: 32: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,127 INFO L290 TraceCheckUtils]: 33: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,128 INFO L290 TraceCheckUtils]: 34: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,128 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #891#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,128 INFO L290 TraceCheckUtils]: 36: Hoare triple {38400#(= ~ref_cnt~0 0)} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,128 INFO L290 TraceCheckUtils]: 37: Hoare triple {38400#(= ~ref_cnt~0 0)} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,129 INFO L290 TraceCheckUtils]: 38: Hoare triple {38400#(= ~ref_cnt~0 0)} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,129 INFO L290 TraceCheckUtils]: 39: Hoare triple {38400#(= ~ref_cnt~0 0)} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,129 INFO L290 TraceCheckUtils]: 40: Hoare triple {38400#(= ~ref_cnt~0 0)} assume 0 == ~ldv_retval_4~0;~ldv_state_variable_0~0 := 3;~ldv_state_variable_2~0 := 1;assume { :begin_inline_ldv_file_operations_2 } true;havoc ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset, ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset, ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset, ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset;havoc ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset;havoc ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,130 INFO L272 TraceCheckUtils]: 41: Hoare triple {38400#(= ~ref_cnt~0 0)} call ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset := ldv_zalloc(1032); {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:48,130 INFO L290 TraceCheckUtils]: 42: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,130 INFO L290 TraceCheckUtils]: 43: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,130 INFO L290 TraceCheckUtils]: 44: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,131 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #893#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,131 INFO L290 TraceCheckUtils]: 46: Hoare triple {38400#(= ~ref_cnt~0 0)} ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset := ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset;havoc ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,131 INFO L272 TraceCheckUtils]: 47: Hoare triple {38400#(= ~ref_cnt~0 0)} call ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset := ldv_zalloc(360); {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:48,131 INFO L290 TraceCheckUtils]: 48: Hoare triple {38437#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,132 INFO L290 TraceCheckUtils]: 49: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,132 INFO L290 TraceCheckUtils]: 50: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,132 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #895#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,132 INFO L290 TraceCheckUtils]: 52: Hoare triple {38400#(= ~ref_cnt~0 0)} ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset := ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset;havoc ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,133 INFO L290 TraceCheckUtils]: 53: Hoare triple {38400#(= ~ref_cnt~0 0)} assume { :end_inline_ldv_file_operations_2 } true; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,133 INFO L290 TraceCheckUtils]: 54: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !(0 != ~ldv_retval_4~0); {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,133 INFO L290 TraceCheckUtils]: 55: Hoare triple {38400#(= ~ref_cnt~0 0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,133 INFO L290 TraceCheckUtils]: 56: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,134 INFO L290 TraceCheckUtils]: 57: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 2 == main_~tmp___5~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,134 INFO L290 TraceCheckUtils]: 58: Hoare triple {38400#(= ~ref_cnt~0 0)} assume main_#t~switch179#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,134 INFO L290 TraceCheckUtils]: 59: Hoare triple {38400#(= ~ref_cnt~0 0)} assume 0 != ~ldv_state_variable_2~0;assume -2147483648 <= main_#t~nondet190#1 && main_#t~nondet190#1 <= 2147483647;main_~tmp___8~1#1 := main_#t~nondet190#1;havoc main_#t~nondet190#1;main_#t~switch191#1 := 0 == main_~tmp___8~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,134 INFO L290 TraceCheckUtils]: 60: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 1 == main_~tmp___8~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,135 INFO L290 TraceCheckUtils]: 61: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 2 == main_~tmp___8~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,135 INFO L290 TraceCheckUtils]: 62: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 3 == main_~tmp___8~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,135 INFO L290 TraceCheckUtils]: 63: Hoare triple {38400#(= ~ref_cnt~0 0)} assume main_#t~switch191#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,135 INFO L290 TraceCheckUtils]: 64: Hoare triple {38400#(= ~ref_cnt~0 0)} assume 1 == ~ldv_state_variable_2~0;assume { :begin_inline_idmouse_open } true;idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset, idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset := ~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset, ~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset;havoc idmouse_open_#res#1;havoc idmouse_open_#t~ret131#1, idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset, idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset, idmouse_open_#t~mem134#1, idmouse_open_#t~ret135#1, idmouse_open_#t~ret136#1, idmouse_open_#t~mem137#1, idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset, idmouse_open_~file#1.base, idmouse_open_~file#1.offset, idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset, idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset, idmouse_open_~result~1#1, idmouse_open_~tmp~10#1, idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset := idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset;idmouse_open_~file#1.base, idmouse_open_~file#1.offset := idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset;havoc idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset;havoc idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc idmouse_open_~result~1#1;havoc idmouse_open_~tmp~10#1;havoc idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;assume { :begin_inline_iminor } true;iminor_#in~inode#1.base, iminor_#in~inode#1.offset := idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset;havoc iminor_#res#1;havoc iminor_#t~mem27#1, iminor_~inode#1.base, iminor_~inode#1.offset;iminor_~inode#1.base, iminor_~inode#1.offset := iminor_#in~inode#1.base, iminor_#in~inode#1.offset;call iminor_#t~mem27#1 := read~int(iminor_~inode#1.base, 76 + iminor_~inode#1.offset, 4);iminor_#res#1 := (if 0 == iminor_#t~mem27#1 then 0 else (if 1 == iminor_#t~mem27#1 then 1 else ~bitwiseAnd(iminor_#t~mem27#1, 1048575)));havoc iminor_#t~mem27#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,136 INFO L290 TraceCheckUtils]: 65: Hoare triple {38400#(= ~ref_cnt~0 0)} idmouse_open_#t~ret131#1 := iminor_#res#1;assume { :end_inline_iminor } true;idmouse_open_~tmp~10#1 := idmouse_open_#t~ret131#1;havoc idmouse_open_#t~ret131#1;assume { :begin_inline_usb_find_interface } true;usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset, usb_find_interface_#in~arg1#1 := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, (if idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 <= 2147483647 then idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 else idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 - 4294967296);havoc usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset, usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset, usb_find_interface_~arg1#1;usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset := usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset;usb_find_interface_~arg1#1 := usb_find_interface_#in~arg1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,136 INFO L272 TraceCheckUtils]: 66: Hoare triple {38400#(= ~ref_cnt~0 0)} call usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset := ldv_malloc(1434); {38438#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:48,136 INFO L290 TraceCheckUtils]: 67: Hoare triple {38438#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {38386#true} is VALID [2022-02-20 21:52:48,136 INFO L290 TraceCheckUtils]: 68: Hoare triple {38386#true} assume 0 != ~tmp___0~2;#res.base, #res.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,136 INFO L290 TraceCheckUtils]: 69: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,137 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #923#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,137 INFO L290 TraceCheckUtils]: 71: Hoare triple {38400#(= ~ref_cnt~0 0)} usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset := usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,137 INFO L290 TraceCheckUtils]: 72: Hoare triple {38400#(= ~ref_cnt~0 0)} idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset := usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;assume { :end_inline_usb_find_interface } true;idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset := idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset;havoc idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,138 INFO L290 TraceCheckUtils]: 73: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !(0 == (idmouse_open_~interface~0#1.base + idmouse_open_~interface~0#1.offset) % 18446744073709551616); {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,138 INFO L272 TraceCheckUtils]: 74: Hoare triple {38400#(= ~ref_cnt~0 0)} call mutex_lock_nested(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 0); {38386#true} is VALID [2022-02-20 21:52:48,138 INFO L290 TraceCheckUtils]: 75: Hoare triple {38386#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {38386#true} is VALID [2022-02-20 21:52:48,138 INFO L290 TraceCheckUtils]: 76: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,139 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #925#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,139 INFO L272 TraceCheckUtils]: 78: Hoare triple {38400#(= ~ref_cnt~0 0)} call idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset := ldv_usb_get_intfdata_2(idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset); {38386#true} is VALID [2022-02-20 21:52:48,139 INFO L290 TraceCheckUtils]: 79: Hoare triple {38386#true} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {38386#true} is VALID [2022-02-20 21:52:48,139 INFO L290 TraceCheckUtils]: 80: Hoare triple {38386#true} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {38386#true} is VALID [2022-02-20 21:52:48,139 INFO L290 TraceCheckUtils]: 81: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,140 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #927#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,140 INFO L290 TraceCheckUtils]: 83: Hoare triple {38400#(= ~ref_cnt~0 0)} idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset := idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;havoc idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset := idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,140 INFO L290 TraceCheckUtils]: 84: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !(0 == (idmouse_open_~dev~0#1.base + idmouse_open_~dev~0#1.offset) % 18446744073709551616); {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,140 INFO L272 TraceCheckUtils]: 85: Hoare triple {38400#(= ~ref_cnt~0 0)} call mutex_lock_nested(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset, 0); {38386#true} is VALID [2022-02-20 21:52:48,141 INFO L290 TraceCheckUtils]: 86: Hoare triple {38386#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {38386#true} is VALID [2022-02-20 21:52:48,141 INFO L290 TraceCheckUtils]: 87: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,141 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #931#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,141 INFO L272 TraceCheckUtils]: 89: Hoare triple {38400#(= ~ref_cnt~0 0)} call mutex_unlock(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset); {38386#true} is VALID [2022-02-20 21:52:48,141 INFO L290 TraceCheckUtils]: 90: Hoare triple {38386#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {38386#true} is VALID [2022-02-20 21:52:48,142 INFO L290 TraceCheckUtils]: 91: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,142 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #933#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,142 INFO L290 TraceCheckUtils]: 93: Hoare triple {38400#(= ~ref_cnt~0 0)} call idmouse_open_#t~mem134#1 := read~int(idmouse_open_~dev~0#1.base, 41 + idmouse_open_~dev~0#1.offset, 4); {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,143 INFO L290 TraceCheckUtils]: 94: Hoare triple {38400#(= ~ref_cnt~0 0)} assume !(0 != idmouse_open_#t~mem134#1);havoc idmouse_open_#t~mem134#1;assume { :begin_inline_ldv_usb_autopm_get_interface_3 } true;ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset := idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc ldv_usb_autopm_get_interface_3_#res#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset, ldv_usb_autopm_get_interface_3_~tmp~20#1;ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset := ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset;havoc ldv_usb_autopm_get_interface_3_~tmp~20#1;assume { :begin_inline_ldv_get_interface } true;ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset := ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset;havoc ldv_get_interface_#res#1;havoc ldv_get_interface_#t~ret205#1, ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset, ldv_get_interface_~res~1#1, ldv_get_interface_~tmp~25#1;ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset := ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset;havoc ldv_get_interface_~res~1#1;havoc ldv_get_interface_~tmp~25#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,143 INFO L272 TraceCheckUtils]: 95: Hoare triple {38400#(= ~ref_cnt~0 0)} call ldv_get_interface_#t~ret205#1 := ldv_undef_int(); {38386#true} is VALID [2022-02-20 21:52:48,143 INFO L290 TraceCheckUtils]: 96: Hoare triple {38386#true} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {38386#true} is VALID [2022-02-20 21:52:48,143 INFO L290 TraceCheckUtils]: 97: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,143 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #935#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,144 INFO L290 TraceCheckUtils]: 99: Hoare triple {38400#(= ~ref_cnt~0 0)} assume -2147483648 <= ldv_get_interface_#t~ret205#1 && ldv_get_interface_#t~ret205#1 <= 2147483647;ldv_get_interface_~tmp~25#1 := ldv_get_interface_#t~ret205#1;havoc ldv_get_interface_#t~ret205#1;ldv_get_interface_~res~1#1 := ldv_get_interface_~tmp~25#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,144 INFO L290 TraceCheckUtils]: 100: Hoare triple {38400#(= ~ref_cnt~0 0)} assume ldv_get_interface_~res~1#1 <= 0; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,144 INFO L290 TraceCheckUtils]: 101: Hoare triple {38400#(= ~ref_cnt~0 0)} assume 0 == ldv_get_interface_~res~1#1;~INTERF_STATE~0 := 1 + ~INTERF_STATE~0; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,145 INFO L290 TraceCheckUtils]: 102: Hoare triple {38400#(= ~ref_cnt~0 0)} ldv_get_interface_#res#1 := ldv_get_interface_~res~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,145 INFO L290 TraceCheckUtils]: 103: Hoare triple {38400#(= ~ref_cnt~0 0)} ldv_usb_autopm_get_interface_3_#t~ret198#1 := ldv_get_interface_#res#1;assume { :end_inline_ldv_get_interface } true;assume -2147483648 <= ldv_usb_autopm_get_interface_3_#t~ret198#1 && ldv_usb_autopm_get_interface_3_#t~ret198#1 <= 2147483647;ldv_usb_autopm_get_interface_3_~tmp~20#1 := ldv_usb_autopm_get_interface_3_#t~ret198#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1;ldv_usb_autopm_get_interface_3_#res#1 := ldv_usb_autopm_get_interface_3_~tmp~20#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,145 INFO L290 TraceCheckUtils]: 104: Hoare triple {38400#(= ~ref_cnt~0 0)} idmouse_open_#t~ret135#1 := ldv_usb_autopm_get_interface_3_#res#1;assume { :end_inline_ldv_usb_autopm_get_interface_3 } true;assume -2147483648 <= idmouse_open_#t~ret135#1 && idmouse_open_#t~ret135#1 <= 2147483647;idmouse_open_~result~1#1 := idmouse_open_#t~ret135#1;havoc idmouse_open_#t~ret135#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,146 INFO L290 TraceCheckUtils]: 105: Hoare triple {38400#(= ~ref_cnt~0 0)} assume 0 != idmouse_open_~result~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,146 INFO L272 TraceCheckUtils]: 106: Hoare triple {38400#(= ~ref_cnt~0 0)} call mutex_unlock(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset); {38386#true} is VALID [2022-02-20 21:52:48,146 INFO L290 TraceCheckUtils]: 107: Hoare triple {38386#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {38386#true} is VALID [2022-02-20 21:52:48,146 INFO L290 TraceCheckUtils]: 108: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,146 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {38386#true} {38400#(= ~ref_cnt~0 0)} #979#return; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,147 INFO L290 TraceCheckUtils]: 110: Hoare triple {38400#(= ~ref_cnt~0 0)} idmouse_open_#res#1 := idmouse_open_~result~1#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,147 INFO L290 TraceCheckUtils]: 111: Hoare triple {38400#(= ~ref_cnt~0 0)} main_#t~ret195#1 := idmouse_open_#res#1;assume { :end_inline_idmouse_open } true;assume -2147483648 <= main_#t~ret195#1 && main_#t~ret195#1 <= 2147483647;~ldv_retval_5~0 := main_#t~ret195#1;havoc main_#t~ret195#1; {38400#(= ~ref_cnt~0 0)} is VALID [2022-02-20 21:52:48,147 INFO L290 TraceCheckUtils]: 112: Hoare triple {38400#(= ~ref_cnt~0 0)} assume 0 == ~ldv_retval_5~0;~ldv_state_variable_2~0 := 2;~ref_cnt~0 := 1 + ~ref_cnt~0; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,148 INFO L290 TraceCheckUtils]: 113: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,148 INFO L290 TraceCheckUtils]: 114: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,148 INFO L290 TraceCheckUtils]: 115: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume main_#t~switch179#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,149 INFO L290 TraceCheckUtils]: 116: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,149 INFO L290 TraceCheckUtils]: 117: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume main_#t~switch188#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,149 INFO L290 TraceCheckUtils]: 118: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume 3 == ~ldv_state_variable_0~0 && 0 == ~ref_cnt~0;assume { :begin_inline_idmouse_driver_exit } true;assume { :begin_inline_ldv_usb_deregister_10 } true;ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset;havoc ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset := ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset;assume { :begin_inline_usb_deregister } true;usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset := ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;havoc usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset;usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset := usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset; {38387#false} is VALID [2022-02-20 21:52:48,149 INFO L290 TraceCheckUtils]: 119: Hoare triple {38387#false} assume { :end_inline_usb_deregister } true;~ldv_state_variable_1~0 := 0; {38387#false} is VALID [2022-02-20 21:52:48,150 INFO L290 TraceCheckUtils]: 120: Hoare triple {38387#false} assume { :end_inline_ldv_usb_deregister_10 } true; {38387#false} is VALID [2022-02-20 21:52:48,150 INFO L290 TraceCheckUtils]: 121: Hoare triple {38387#false} assume { :end_inline_idmouse_driver_exit } true;~ldv_state_variable_0~0 := 2; {38387#false} is VALID [2022-02-20 21:52:48,150 INFO L290 TraceCheckUtils]: 122: Hoare triple {38387#false} assume { :begin_inline_ldv_check_final_state } true; {38387#false} is VALID [2022-02-20 21:52:48,150 INFO L290 TraceCheckUtils]: 123: Hoare triple {38387#false} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {38387#false} is VALID [2022-02-20 21:52:48,150 INFO L290 TraceCheckUtils]: 124: Hoare triple {38387#false} assume 0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616; {38387#false} is VALID [2022-02-20 21:52:48,150 INFO L290 TraceCheckUtils]: 125: Hoare triple {38387#false} assume 0 == ~dev_counter~0; {38387#false} is VALID [2022-02-20 21:52:48,150 INFO L290 TraceCheckUtils]: 126: Hoare triple {38387#false} assume !(0 == ~INTERF_STATE~0); {38387#false} is VALID [2022-02-20 21:52:48,151 INFO L272 TraceCheckUtils]: 127: Hoare triple {38387#false} call ldv_error(); {38387#false} is VALID [2022-02-20 21:52:48,151 INFO L290 TraceCheckUtils]: 128: Hoare triple {38387#false} assume !false; {38387#false} is VALID [2022-02-20 21:52:48,151 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-02-20 21:52:48,151 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:48,152 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [421438814] [2022-02-20 21:52:48,152 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [421438814] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:52:48,152 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [216244209] [2022-02-20 21:52:48,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:48,152 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:52:48,152 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:52:48,159 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-02-20 21:52:48,171 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-02-20 21:52:48,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,448 INFO L263 TraceCheckSpWp]: Trace formula consists of 1300 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 21:52:48,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:48,509 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:52:48,894 INFO L290 TraceCheckUtils]: 0: Hoare triple {38386#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {38386#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {38386#true} is VALID [2022-02-20 21:52:48,895 INFO L272 TraceCheckUtils]: 2: Hoare triple {38386#true} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {38386#true} is VALID [2022-02-20 21:52:48,895 INFO L290 TraceCheckUtils]: 3: Hoare triple {38386#true} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,895 INFO L290 TraceCheckUtils]: 4: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,895 INFO L290 TraceCheckUtils]: 5: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,895 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {38386#true} {38386#true} #857#return; {38386#true} is VALID [2022-02-20 21:52:48,895 INFO L290 TraceCheckUtils]: 7: Hoare triple {38386#true} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {38386#true} is VALID [2022-02-20 21:52:48,895 INFO L272 TraceCheckUtils]: 8: Hoare triple {38386#true} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {38386#true} is VALID [2022-02-20 21:52:48,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {38386#true} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,907 INFO L290 TraceCheckUtils]: 10: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,907 INFO L290 TraceCheckUtils]: 11: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {38386#true} {38386#true} #859#return; {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L290 TraceCheckUtils]: 13: Hoare triple {38386#true} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L272 TraceCheckUtils]: 14: Hoare triple {38386#true} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {38386#true} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {38386#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L290 TraceCheckUtils]: 17: Hoare triple {38386#true} assume true; {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {38386#true} {38386#true} #861#return; {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L290 TraceCheckUtils]: 19: Hoare triple {38386#true} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {38386#true} is VALID [2022-02-20 21:52:48,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {38386#true} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {38386#true} is VALID [2022-02-20 21:52:48,909 INFO L290 TraceCheckUtils]: 21: Hoare triple {38386#true} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {38386#true} is VALID [2022-02-20 21:52:48,909 INFO L290 TraceCheckUtils]: 22: Hoare triple {38386#true} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,909 INFO L290 TraceCheckUtils]: 23: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,910 INFO L290 TraceCheckUtils]: 24: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,910 INFO L290 TraceCheckUtils]: 25: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume main_#t~switch179#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,910 INFO L290 TraceCheckUtils]: 26: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,911 INFO L290 TraceCheckUtils]: 27: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,911 INFO L290 TraceCheckUtils]: 28: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume main_#t~switch188#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,911 INFO L290 TraceCheckUtils]: 29: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,911 INFO L290 TraceCheckUtils]: 30: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,912 INFO L272 TraceCheckUtils]: 31: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,912 INFO L290 TraceCheckUtils]: 32: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,912 INFO L290 TraceCheckUtils]: 33: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,913 INFO L290 TraceCheckUtils]: 34: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,913 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #891#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,914 INFO L290 TraceCheckUtils]: 37: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {38508#(<= 0 ~ref_cnt~0)} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,914 INFO L290 TraceCheckUtils]: 39: Hoare triple {38508#(<= 0 ~ref_cnt~0)} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,915 INFO L290 TraceCheckUtils]: 40: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 == ~ldv_retval_4~0;~ldv_state_variable_0~0 := 3;~ldv_state_variable_2~0 := 1;assume { :begin_inline_ldv_file_operations_2 } true;havoc ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset, ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset, ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset, ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset;havoc ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset;havoc ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,915 INFO L272 TraceCheckUtils]: 41: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset := ldv_zalloc(1032); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,915 INFO L290 TraceCheckUtils]: 42: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,916 INFO L290 TraceCheckUtils]: 44: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,916 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #893#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,917 INFO L290 TraceCheckUtils]: 46: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset := ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset;havoc ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,917 INFO L272 TraceCheckUtils]: 47: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset := ldv_zalloc(360); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,917 INFO L290 TraceCheckUtils]: 48: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,918 INFO L290 TraceCheckUtils]: 49: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,918 INFO L290 TraceCheckUtils]: 50: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,918 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #895#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,919 INFO L290 TraceCheckUtils]: 52: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset := ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset;havoc ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,919 INFO L290 TraceCheckUtils]: 53: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume { :end_inline_ldv_file_operations_2 } true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,919 INFO L290 TraceCheckUtils]: 54: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !(0 != ~ldv_retval_4~0); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,920 INFO L290 TraceCheckUtils]: 55: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,920 INFO L290 TraceCheckUtils]: 56: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,920 INFO L290 TraceCheckUtils]: 57: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 2 == main_~tmp___5~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,920 INFO L290 TraceCheckUtils]: 58: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume main_#t~switch179#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,921 INFO L290 TraceCheckUtils]: 59: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 != ~ldv_state_variable_2~0;assume -2147483648 <= main_#t~nondet190#1 && main_#t~nondet190#1 <= 2147483647;main_~tmp___8~1#1 := main_#t~nondet190#1;havoc main_#t~nondet190#1;main_#t~switch191#1 := 0 == main_~tmp___8~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,921 INFO L290 TraceCheckUtils]: 60: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 1 == main_~tmp___8~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,921 INFO L290 TraceCheckUtils]: 61: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 2 == main_~tmp___8~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,921 INFO L290 TraceCheckUtils]: 62: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 3 == main_~tmp___8~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,922 INFO L290 TraceCheckUtils]: 63: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume main_#t~switch191#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,922 INFO L290 TraceCheckUtils]: 64: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 1 == ~ldv_state_variable_2~0;assume { :begin_inline_idmouse_open } true;idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset, idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset := ~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset, ~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset;havoc idmouse_open_#res#1;havoc idmouse_open_#t~ret131#1, idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset, idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset, idmouse_open_#t~mem134#1, idmouse_open_#t~ret135#1, idmouse_open_#t~ret136#1, idmouse_open_#t~mem137#1, idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset, idmouse_open_~file#1.base, idmouse_open_~file#1.offset, idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset, idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset, idmouse_open_~result~1#1, idmouse_open_~tmp~10#1, idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset := idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset;idmouse_open_~file#1.base, idmouse_open_~file#1.offset := idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset;havoc idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset;havoc idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc idmouse_open_~result~1#1;havoc idmouse_open_~tmp~10#1;havoc idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;assume { :begin_inline_iminor } true;iminor_#in~inode#1.base, iminor_#in~inode#1.offset := idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset;havoc iminor_#res#1;havoc iminor_#t~mem27#1, iminor_~inode#1.base, iminor_~inode#1.offset;iminor_~inode#1.base, iminor_~inode#1.offset := iminor_#in~inode#1.base, iminor_#in~inode#1.offset;call iminor_#t~mem27#1 := read~int(iminor_~inode#1.base, 76 + iminor_~inode#1.offset, 4);iminor_#res#1 := (if 0 == iminor_#t~mem27#1 then 0 else (if 1 == iminor_#t~mem27#1 then 1 else ~bitwiseAnd(iminor_#t~mem27#1, 1048575)));havoc iminor_#t~mem27#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,922 INFO L290 TraceCheckUtils]: 65: Hoare triple {38508#(<= 0 ~ref_cnt~0)} idmouse_open_#t~ret131#1 := iminor_#res#1;assume { :end_inline_iminor } true;idmouse_open_~tmp~10#1 := idmouse_open_#t~ret131#1;havoc idmouse_open_#t~ret131#1;assume { :begin_inline_usb_find_interface } true;usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset, usb_find_interface_#in~arg1#1 := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, (if idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 <= 2147483647 then idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 else idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 - 4294967296);havoc usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset, usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset, usb_find_interface_~arg1#1;usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset := usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset;usb_find_interface_~arg1#1 := usb_find_interface_#in~arg1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,923 INFO L272 TraceCheckUtils]: 66: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset := ldv_malloc(1434); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,923 INFO L290 TraceCheckUtils]: 67: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,923 INFO L290 TraceCheckUtils]: 68: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 != ~tmp___0~2;#res.base, #res.offset := 0, 0; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,924 INFO L290 TraceCheckUtils]: 69: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,924 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #923#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,924 INFO L290 TraceCheckUtils]: 71: Hoare triple {38508#(<= 0 ~ref_cnt~0)} usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset := usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,925 INFO L290 TraceCheckUtils]: 72: Hoare triple {38508#(<= 0 ~ref_cnt~0)} idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset := usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;assume { :end_inline_usb_find_interface } true;idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset := idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset;havoc idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,925 INFO L290 TraceCheckUtils]: 73: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !(0 == (idmouse_open_~interface~0#1.base + idmouse_open_~interface~0#1.offset) % 18446744073709551616); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,925 INFO L272 TraceCheckUtils]: 74: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call mutex_lock_nested(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 0); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,926 INFO L290 TraceCheckUtils]: 75: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,926 INFO L290 TraceCheckUtils]: 76: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,927 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #925#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,927 INFO L272 TraceCheckUtils]: 78: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset := ldv_usb_get_intfdata_2(idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,927 INFO L290 TraceCheckUtils]: 79: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,928 INFO L290 TraceCheckUtils]: 80: Hoare triple {38508#(<= 0 ~ref_cnt~0)} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,928 INFO L290 TraceCheckUtils]: 81: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,928 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #927#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,929 INFO L290 TraceCheckUtils]: 83: Hoare triple {38508#(<= 0 ~ref_cnt~0)} idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset := idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;havoc idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset := idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,929 INFO L290 TraceCheckUtils]: 84: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !(0 == (idmouse_open_~dev~0#1.base + idmouse_open_~dev~0#1.offset) % 18446744073709551616); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,930 INFO L272 TraceCheckUtils]: 85: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call mutex_lock_nested(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset, 0); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,930 INFO L290 TraceCheckUtils]: 86: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,930 INFO L290 TraceCheckUtils]: 87: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,931 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #931#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,931 INFO L272 TraceCheckUtils]: 89: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call mutex_unlock(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,931 INFO L290 TraceCheckUtils]: 90: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,932 INFO L290 TraceCheckUtils]: 91: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,932 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #933#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,932 INFO L290 TraceCheckUtils]: 93: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call idmouse_open_#t~mem134#1 := read~int(idmouse_open_~dev~0#1.base, 41 + idmouse_open_~dev~0#1.offset, 4); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,933 INFO L290 TraceCheckUtils]: 94: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume !(0 != idmouse_open_#t~mem134#1);havoc idmouse_open_#t~mem134#1;assume { :begin_inline_ldv_usb_autopm_get_interface_3 } true;ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset := idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc ldv_usb_autopm_get_interface_3_#res#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset, ldv_usb_autopm_get_interface_3_~tmp~20#1;ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset := ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset;havoc ldv_usb_autopm_get_interface_3_~tmp~20#1;assume { :begin_inline_ldv_get_interface } true;ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset := ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset;havoc ldv_get_interface_#res#1;havoc ldv_get_interface_#t~ret205#1, ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset, ldv_get_interface_~res~1#1, ldv_get_interface_~tmp~25#1;ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset := ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset;havoc ldv_get_interface_~res~1#1;havoc ldv_get_interface_~tmp~25#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,933 INFO L272 TraceCheckUtils]: 95: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call ldv_get_interface_#t~ret205#1 := ldv_undef_int(); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,933 INFO L290 TraceCheckUtils]: 96: Hoare triple {38508#(<= 0 ~ref_cnt~0)} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,934 INFO L290 TraceCheckUtils]: 97: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,934 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #935#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,934 INFO L290 TraceCheckUtils]: 99: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume -2147483648 <= ldv_get_interface_#t~ret205#1 && ldv_get_interface_#t~ret205#1 <= 2147483647;ldv_get_interface_~tmp~25#1 := ldv_get_interface_#t~ret205#1;havoc ldv_get_interface_#t~ret205#1;ldv_get_interface_~res~1#1 := ldv_get_interface_~tmp~25#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,935 INFO L290 TraceCheckUtils]: 100: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume ldv_get_interface_~res~1#1 <= 0; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,935 INFO L290 TraceCheckUtils]: 101: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 == ldv_get_interface_~res~1#1;~INTERF_STATE~0 := 1 + ~INTERF_STATE~0; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,935 INFO L290 TraceCheckUtils]: 102: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ldv_get_interface_#res#1 := ldv_get_interface_~res~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,935 INFO L290 TraceCheckUtils]: 103: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ldv_usb_autopm_get_interface_3_#t~ret198#1 := ldv_get_interface_#res#1;assume { :end_inline_ldv_get_interface } true;assume -2147483648 <= ldv_usb_autopm_get_interface_3_#t~ret198#1 && ldv_usb_autopm_get_interface_3_#t~ret198#1 <= 2147483647;ldv_usb_autopm_get_interface_3_~tmp~20#1 := ldv_usb_autopm_get_interface_3_#t~ret198#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1;ldv_usb_autopm_get_interface_3_#res#1 := ldv_usb_autopm_get_interface_3_~tmp~20#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,936 INFO L290 TraceCheckUtils]: 104: Hoare triple {38508#(<= 0 ~ref_cnt~0)} idmouse_open_#t~ret135#1 := ldv_usb_autopm_get_interface_3_#res#1;assume { :end_inline_ldv_usb_autopm_get_interface_3 } true;assume -2147483648 <= idmouse_open_#t~ret135#1 && idmouse_open_#t~ret135#1 <= 2147483647;idmouse_open_~result~1#1 := idmouse_open_#t~ret135#1;havoc idmouse_open_#t~ret135#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,936 INFO L290 TraceCheckUtils]: 105: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 != idmouse_open_~result~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,937 INFO L272 TraceCheckUtils]: 106: Hoare triple {38508#(<= 0 ~ref_cnt~0)} call mutex_unlock(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset); {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,937 INFO L290 TraceCheckUtils]: 107: Hoare triple {38508#(<= 0 ~ref_cnt~0)} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,937 INFO L290 TraceCheckUtils]: 108: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume true; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,938 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {38508#(<= 0 ~ref_cnt~0)} {38508#(<= 0 ~ref_cnt~0)} #979#return; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,938 INFO L290 TraceCheckUtils]: 110: Hoare triple {38508#(<= 0 ~ref_cnt~0)} idmouse_open_#res#1 := idmouse_open_~result~1#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,938 INFO L290 TraceCheckUtils]: 111: Hoare triple {38508#(<= 0 ~ref_cnt~0)} main_#t~ret195#1 := idmouse_open_#res#1;assume { :end_inline_idmouse_open } true;assume -2147483648 <= main_#t~ret195#1 && main_#t~ret195#1 <= 2147483647;~ldv_retval_5~0 := main_#t~ret195#1;havoc main_#t~ret195#1; {38508#(<= 0 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,939 INFO L290 TraceCheckUtils]: 112: Hoare triple {38508#(<= 0 ~ref_cnt~0)} assume 0 == ~ldv_retval_5~0;~ldv_state_variable_2~0 := 2;~ref_cnt~0 := 1 + ~ref_cnt~0; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,943 INFO L290 TraceCheckUtils]: 113: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,943 INFO L290 TraceCheckUtils]: 114: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,944 INFO L290 TraceCheckUtils]: 115: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume main_#t~switch179#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,944 INFO L290 TraceCheckUtils]: 116: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,944 INFO L290 TraceCheckUtils]: 117: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume main_#t~switch188#1; {38436#(<= 1 ~ref_cnt~0)} is VALID [2022-02-20 21:52:48,944 INFO L290 TraceCheckUtils]: 118: Hoare triple {38436#(<= 1 ~ref_cnt~0)} assume 3 == ~ldv_state_variable_0~0 && 0 == ~ref_cnt~0;assume { :begin_inline_idmouse_driver_exit } true;assume { :begin_inline_ldv_usb_deregister_10 } true;ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset;havoc ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset := ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset;assume { :begin_inline_usb_deregister } true;usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset := ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;havoc usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset;usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset := usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 119: Hoare triple {38387#false} assume { :end_inline_usb_deregister } true;~ldv_state_variable_1~0 := 0; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 120: Hoare triple {38387#false} assume { :end_inline_ldv_usb_deregister_10 } true; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 121: Hoare triple {38387#false} assume { :end_inline_idmouse_driver_exit } true;~ldv_state_variable_0~0 := 2; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 122: Hoare triple {38387#false} assume { :begin_inline_ldv_check_final_state } true; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 123: Hoare triple {38387#false} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 124: Hoare triple {38387#false} assume 0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 125: Hoare triple {38387#false} assume 0 == ~dev_counter~0; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 126: Hoare triple {38387#false} assume !(0 == ~INTERF_STATE~0); {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L272 TraceCheckUtils]: 127: Hoare triple {38387#false} call ldv_error(); {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L290 TraceCheckUtils]: 128: Hoare triple {38387#false} assume !false; {38387#false} is VALID [2022-02-20 21:52:48,945 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 44 proven. 0 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2022-02-20 21:52:48,945 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 21:52:48,946 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [216244209] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:48,946 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 21:52:48,946 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 7 [2022-02-20 21:52:48,946 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1939123344] [2022-02-20 21:52:48,946 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:48,947 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 21.0) internal successors, (84), 4 states have internal predecessors, (84), 3 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 129 [2022-02-20 21:52:48,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:48,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 21.0) internal successors, (84), 4 states have internal predecessors, (84), 3 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:52:49,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:49,039 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 21:52:49,039 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:49,040 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 21:52:49,040 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 21:52:49,040 INFO L87 Difference]: Start difference. First operand 1841 states and 2546 transitions. Second operand has 4 states, 4 states have (on average 21.0) internal successors, (84), 4 states have internal predecessors, (84), 3 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:52:52,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:52,769 INFO L93 Difference]: Finished difference Result 5492 states and 7596 transitions. [2022-02-20 21:52:52,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 21:52:52,769 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 21.0) internal successors, (84), 4 states have internal predecessors, (84), 3 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 129 [2022-02-20 21:52:52,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:52:52,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 21.0) internal successors, (84), 4 states have internal predecessors, (84), 3 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:52:52,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 1396 transitions. [2022-02-20 21:52:52,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 21.0) internal successors, (84), 4 states have internal predecessors, (84), 3 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:52:52,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 1396 transitions. [2022-02-20 21:52:52,797 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 1396 transitions. [2022-02-20 21:52:53,725 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1396 edges. 1396 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:54,958 INFO L225 Difference]: With dead ends: 5492 [2022-02-20 21:52:54,958 INFO L226 Difference]: Without dead ends: 5481 [2022-02-20 21:52:54,960 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 158 GetRequests, 153 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 21:52:54,960 INFO L933 BasicCegarLoop]: 982 mSDtfsCounter, 836 mSDsluCounter, 772 mSDsCounter, 0 mSdLazyCounter, 168 mSolverCounterSat, 65 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 836 SdHoareTripleChecker+Valid, 1754 SdHoareTripleChecker+Invalid, 233 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 65 IncrementalHoareTripleChecker+Valid, 168 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 21:52:54,960 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [836 Valid, 1754 Invalid, 233 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [65 Valid, 168 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 21:52:54,963 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5481 states. [2022-02-20 21:52:55,744 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5481 to 5433. [2022-02-20 21:52:55,745 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:52:55,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 5481 states. Second operand has 5433 states, 3997 states have (on average 1.3400050037528146) internal successors, (5356), 4058 states have internal predecessors, (5356), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 343 states have return successors, (1090), 1030 states have call predecessors, (1090), 1090 states have call successors, (1090) [2022-02-20 21:52:55,768 INFO L74 IsIncluded]: Start isIncluded. First operand 5481 states. Second operand has 5433 states, 3997 states have (on average 1.3400050037528146) internal successors, (5356), 4058 states have internal predecessors, (5356), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 343 states have return successors, (1090), 1030 states have call predecessors, (1090), 1090 states have call successors, (1090) [2022-02-20 21:52:55,777 INFO L87 Difference]: Start difference. First operand 5481 states. Second operand has 5433 states, 3997 states have (on average 1.3400050037528146) internal successors, (5356), 4058 states have internal predecessors, (5356), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 343 states have return successors, (1090), 1030 states have call predecessors, (1090), 1090 states have call successors, (1090) [2022-02-20 21:52:56,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:56,733 INFO L93 Difference]: Finished difference Result 5481 states and 7584 transitions. [2022-02-20 21:52:56,733 INFO L276 IsEmpty]: Start isEmpty. Operand 5481 states and 7584 transitions. [2022-02-20 21:52:56,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:56,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:56,753 INFO L74 IsIncluded]: Start isIncluded. First operand has 5433 states, 3997 states have (on average 1.3400050037528146) internal successors, (5356), 4058 states have internal predecessors, (5356), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 343 states have return successors, (1090), 1030 states have call predecessors, (1090), 1090 states have call successors, (1090) Second operand 5481 states. [2022-02-20 21:52:56,759 INFO L87 Difference]: Start difference. First operand has 5433 states, 3997 states have (on average 1.3400050037528146) internal successors, (5356), 4058 states have internal predecessors, (5356), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 343 states have return successors, (1090), 1030 states have call predecessors, (1090), 1090 states have call successors, (1090) Second operand 5481 states. [2022-02-20 21:52:57,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:52:57,690 INFO L93 Difference]: Finished difference Result 5481 states and 7584 transitions. [2022-02-20 21:52:57,690 INFO L276 IsEmpty]: Start isEmpty. Operand 5481 states and 7584 transitions. [2022-02-20 21:52:57,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:52:57,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:52:57,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:52:57,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:52:57,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5433 states, 3997 states have (on average 1.3400050037528146) internal successors, (5356), 4058 states have internal predecessors, (5356), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 343 states have return successors, (1090), 1030 states have call predecessors, (1090), 1090 states have call successors, (1090) [2022-02-20 21:52:58,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5433 states to 5433 states and 7538 transitions. [2022-02-20 21:52:58,983 INFO L78 Accepts]: Start accepts. Automaton has 5433 states and 7538 transitions. Word has length 129 [2022-02-20 21:52:58,983 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:52:58,983 INFO L470 AbstractCegarLoop]: Abstraction has 5433 states and 7538 transitions. [2022-02-20 21:52:58,984 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 21.0) internal successors, (84), 4 states have internal predecessors, (84), 3 states have call successors, (14), 3 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:52:58,984 INFO L276 IsEmpty]: Start isEmpty. Operand 5433 states and 7538 transitions. [2022-02-20 21:52:58,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-02-20 21:52:58,990 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:52:58,990 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:52:59,013 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 21:52:59,207 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:52:59,207 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:52:59,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:52:59,208 INFO L85 PathProgramCache]: Analyzing trace with hash -1400116624, now seen corresponding path program 1 times [2022-02-20 21:52:59,208 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:52:59,208 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1294167961] [2022-02-20 21:52:59,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:52:59,208 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:52:59,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,363 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:52:59,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65131#true} {65131#true} #857#return; {65131#true} is VALID [2022-02-20 21:52:59,370 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:52:59,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65131#true} {65131#true} #859#return; {65131#true} is VALID [2022-02-20 21:52:59,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:52:59,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,382 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65131#true} {65131#true} #861#return; {65131#true} is VALID [2022-02-20 21:52:59,382 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 21:52:59,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,388 INFO L290 TraceCheckUtils]: 2: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65131#true} {65131#true} #891#return; {65131#true} is VALID [2022-02-20 21:52:59,389 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 41 [2022-02-20 21:52:59,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,394 INFO L290 TraceCheckUtils]: 0: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65131#true} {65131#true} #893#return; {65131#true} is VALID [2022-02-20 21:52:59,395 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 21:52:59,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,401 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65131#true} {65131#true} #895#return; {65131#true} is VALID [2022-02-20 21:52:59,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 66 [2022-02-20 21:52:59,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,423 INFO L290 TraceCheckUtils]: 0: Hoare triple {65184#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {65131#true} is VALID [2022-02-20 21:52:59,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume 0 != ~tmp___0~2;#res.base, #res.offset := 0, 0; {65185#(and (= |ldv_malloc_#res.base| 0) (= |ldv_malloc_#res.offset| 0))} is VALID [2022-02-20 21:52:59,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {65185#(and (= |ldv_malloc_#res.base| 0) (= |ldv_malloc_#res.offset| 0))} assume true; {65185#(and (= |ldv_malloc_#res.base| 0) (= |ldv_malloc_#res.offset| 0))} is VALID [2022-02-20 21:52:59,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65185#(and (= |ldv_malloc_#res.base| 0) (= |ldv_malloc_#res.offset| 0))} {65131#true} #923#return; {65161#(and (= |ULTIMATE.start_usb_find_interface_#t~ret214#1.offset| 0) (= |ULTIMATE.start_usb_find_interface_#t~ret214#1.base| 0))} is VALID [2022-02-20 21:52:59,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-02-20 21:52:59,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,430 INFO L290 TraceCheckUtils]: 0: Hoare triple {65131#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {65131#true} is VALID [2022-02-20 21:52:59,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,430 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {65131#true} {65132#false} #925#return; {65132#false} is VALID [2022-02-20 21:52:59,430 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 78 [2022-02-20 21:52:59,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {65131#true} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {65131#true} is VALID [2022-02-20 21:52:59,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {65131#true} is VALID [2022-02-20 21:52:59,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,446 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65131#true} {65132#false} #927#return; {65132#false} is VALID [2022-02-20 21:52:59,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 85 [2022-02-20 21:52:59,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,450 INFO L290 TraceCheckUtils]: 0: Hoare triple {65131#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {65131#true} is VALID [2022-02-20 21:52:59,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,451 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {65131#true} {65132#false} #931#return; {65132#false} is VALID [2022-02-20 21:52:59,451 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 89 [2022-02-20 21:52:59,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,457 INFO L290 TraceCheckUtils]: 0: Hoare triple {65131#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {65131#true} is VALID [2022-02-20 21:52:59,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,457 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {65131#true} {65132#false} #933#return; {65132#false} is VALID [2022-02-20 21:52:59,457 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 95 [2022-02-20 21:52:59,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {65131#true} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {65131#true} is VALID [2022-02-20 21:52:59,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,462 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {65131#true} {65132#false} #935#return; {65132#false} is VALID [2022-02-20 21:52:59,462 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 106 [2022-02-20 21:52:59,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:52:59,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {65131#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {65131#true} is VALID [2022-02-20 21:52:59,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,466 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {65131#true} {65132#false} #979#return; {65132#false} is VALID [2022-02-20 21:52:59,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {65131#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {65131#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {65131#true} is VALID [2022-02-20 21:52:59,468 INFO L272 TraceCheckUtils]: 2: Hoare triple {65131#true} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:59,468 INFO L290 TraceCheckUtils]: 3: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,468 INFO L290 TraceCheckUtils]: 4: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,469 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {65131#true} {65131#true} #857#return; {65131#true} is VALID [2022-02-20 21:52:59,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {65131#true} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {65131#true} is VALID [2022-02-20 21:52:59,469 INFO L272 TraceCheckUtils]: 8: Hoare triple {65131#true} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:59,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,470 INFO L290 TraceCheckUtils]: 10: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,470 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {65131#true} {65131#true} #859#return; {65131#true} is VALID [2022-02-20 21:52:59,470 INFO L290 TraceCheckUtils]: 13: Hoare triple {65131#true} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {65131#true} is VALID [2022-02-20 21:52:59,470 INFO L272 TraceCheckUtils]: 14: Hoare triple {65131#true} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:59,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L290 TraceCheckUtils]: 16: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L290 TraceCheckUtils]: 17: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {65131#true} {65131#true} #861#return; {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {65131#true} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {65131#true} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L290 TraceCheckUtils]: 21: Hoare triple {65131#true} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L290 TraceCheckUtils]: 22: Hoare triple {65131#true} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L290 TraceCheckUtils]: 23: Hoare triple {65131#true} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {65131#true} is VALID [2022-02-20 21:52:59,471 INFO L290 TraceCheckUtils]: 24: Hoare triple {65131#true} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {65131#true} is VALID [2022-02-20 21:52:59,472 INFO L290 TraceCheckUtils]: 25: Hoare triple {65131#true} assume main_#t~switch179#1; {65131#true} is VALID [2022-02-20 21:52:59,472 INFO L290 TraceCheckUtils]: 26: Hoare triple {65131#true} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {65131#true} is VALID [2022-02-20 21:52:59,472 INFO L290 TraceCheckUtils]: 27: Hoare triple {65131#true} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {65131#true} is VALID [2022-02-20 21:52:59,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {65131#true} assume main_#t~switch188#1; {65131#true} is VALID [2022-02-20 21:52:59,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {65131#true} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {65131#true} is VALID [2022-02-20 21:52:59,472 INFO L290 TraceCheckUtils]: 30: Hoare triple {65131#true} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {65131#true} is VALID [2022-02-20 21:52:59,473 INFO L272 TraceCheckUtils]: 31: Hoare triple {65131#true} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:59,473 INFO L290 TraceCheckUtils]: 32: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,473 INFO L290 TraceCheckUtils]: 33: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,473 INFO L290 TraceCheckUtils]: 34: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,473 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {65131#true} {65131#true} #891#return; {65131#true} is VALID [2022-02-20 21:52:59,473 INFO L290 TraceCheckUtils]: 36: Hoare triple {65131#true} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {65131#true} is VALID [2022-02-20 21:52:59,473 INFO L290 TraceCheckUtils]: 37: Hoare triple {65131#true} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {65131#true} is VALID [2022-02-20 21:52:59,473 INFO L290 TraceCheckUtils]: 38: Hoare triple {65131#true} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {65131#true} is VALID [2022-02-20 21:52:59,474 INFO L290 TraceCheckUtils]: 39: Hoare triple {65131#true} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {65131#true} is VALID [2022-02-20 21:52:59,474 INFO L290 TraceCheckUtils]: 40: Hoare triple {65131#true} assume 0 == ~ldv_retval_4~0;~ldv_state_variable_0~0 := 3;~ldv_state_variable_2~0 := 1;assume { :begin_inline_ldv_file_operations_2 } true;havoc ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset, ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset, ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset, ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset;havoc ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset;havoc ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset; {65131#true} is VALID [2022-02-20 21:52:59,474 INFO L272 TraceCheckUtils]: 41: Hoare triple {65131#true} call ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset := ldv_zalloc(1032); {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:59,474 INFO L290 TraceCheckUtils]: 42: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,474 INFO L290 TraceCheckUtils]: 43: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,474 INFO L290 TraceCheckUtils]: 44: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,475 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {65131#true} {65131#true} #893#return; {65131#true} is VALID [2022-02-20 21:52:59,475 INFO L290 TraceCheckUtils]: 46: Hoare triple {65131#true} ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset := ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset;havoc ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset; {65131#true} is VALID [2022-02-20 21:52:59,475 INFO L272 TraceCheckUtils]: 47: Hoare triple {65131#true} call ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset := ldv_zalloc(360); {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:59,475 INFO L290 TraceCheckUtils]: 48: Hoare triple {65183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {65131#true} is VALID [2022-02-20 21:52:59,475 INFO L290 TraceCheckUtils]: 49: Hoare triple {65131#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {65131#true} is VALID [2022-02-20 21:52:59,475 INFO L290 TraceCheckUtils]: 50: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {65131#true} {65131#true} #895#return; {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L290 TraceCheckUtils]: 52: Hoare triple {65131#true} ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset := ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset;havoc ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset; {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L290 TraceCheckUtils]: 53: Hoare triple {65131#true} assume { :end_inline_ldv_file_operations_2 } true; {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L290 TraceCheckUtils]: 54: Hoare triple {65131#true} assume !(0 != ~ldv_retval_4~0); {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L290 TraceCheckUtils]: 55: Hoare triple {65131#true} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L290 TraceCheckUtils]: 56: Hoare triple {65131#true} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L290 TraceCheckUtils]: 57: Hoare triple {65131#true} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 2 == main_~tmp___5~1#1; {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L290 TraceCheckUtils]: 58: Hoare triple {65131#true} assume main_#t~switch179#1; {65131#true} is VALID [2022-02-20 21:52:59,476 INFO L290 TraceCheckUtils]: 59: Hoare triple {65131#true} assume 0 != ~ldv_state_variable_2~0;assume -2147483648 <= main_#t~nondet190#1 && main_#t~nondet190#1 <= 2147483647;main_~tmp___8~1#1 := main_#t~nondet190#1;havoc main_#t~nondet190#1;main_#t~switch191#1 := 0 == main_~tmp___8~1#1; {65131#true} is VALID [2022-02-20 21:52:59,477 INFO L290 TraceCheckUtils]: 60: Hoare triple {65131#true} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 1 == main_~tmp___8~1#1; {65131#true} is VALID [2022-02-20 21:52:59,477 INFO L290 TraceCheckUtils]: 61: Hoare triple {65131#true} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 2 == main_~tmp___8~1#1; {65131#true} is VALID [2022-02-20 21:52:59,477 INFO L290 TraceCheckUtils]: 62: Hoare triple {65131#true} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 3 == main_~tmp___8~1#1; {65131#true} is VALID [2022-02-20 21:52:59,477 INFO L290 TraceCheckUtils]: 63: Hoare triple {65131#true} assume main_#t~switch191#1; {65131#true} is VALID [2022-02-20 21:52:59,477 INFO L290 TraceCheckUtils]: 64: Hoare triple {65131#true} assume 1 == ~ldv_state_variable_2~0;assume { :begin_inline_idmouse_open } true;idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset, idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset := ~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset, ~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset;havoc idmouse_open_#res#1;havoc idmouse_open_#t~ret131#1, idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset, idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset, idmouse_open_#t~mem134#1, idmouse_open_#t~ret135#1, idmouse_open_#t~ret136#1, idmouse_open_#t~mem137#1, idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset, idmouse_open_~file#1.base, idmouse_open_~file#1.offset, idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset, idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset, idmouse_open_~result~1#1, idmouse_open_~tmp~10#1, idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset := idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset;idmouse_open_~file#1.base, idmouse_open_~file#1.offset := idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset;havoc idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset;havoc idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc idmouse_open_~result~1#1;havoc idmouse_open_~tmp~10#1;havoc idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;assume { :begin_inline_iminor } true;iminor_#in~inode#1.base, iminor_#in~inode#1.offset := idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset;havoc iminor_#res#1;havoc iminor_#t~mem27#1, iminor_~inode#1.base, iminor_~inode#1.offset;iminor_~inode#1.base, iminor_~inode#1.offset := iminor_#in~inode#1.base, iminor_#in~inode#1.offset;call iminor_#t~mem27#1 := read~int(iminor_~inode#1.base, 76 + iminor_~inode#1.offset, 4);iminor_#res#1 := (if 0 == iminor_#t~mem27#1 then 0 else (if 1 == iminor_#t~mem27#1 then 1 else ~bitwiseAnd(iminor_#t~mem27#1, 1048575)));havoc iminor_#t~mem27#1; {65131#true} is VALID [2022-02-20 21:52:59,477 INFO L290 TraceCheckUtils]: 65: Hoare triple {65131#true} idmouse_open_#t~ret131#1 := iminor_#res#1;assume { :end_inline_iminor } true;idmouse_open_~tmp~10#1 := idmouse_open_#t~ret131#1;havoc idmouse_open_#t~ret131#1;assume { :begin_inline_usb_find_interface } true;usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset, usb_find_interface_#in~arg1#1 := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, (if idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 <= 2147483647 then idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 else idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 - 4294967296);havoc usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset, usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset, usb_find_interface_~arg1#1;usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset := usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset;usb_find_interface_~arg1#1 := usb_find_interface_#in~arg1#1; {65131#true} is VALID [2022-02-20 21:52:59,478 INFO L272 TraceCheckUtils]: 66: Hoare triple {65131#true} call usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset := ldv_malloc(1434); {65184#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:52:59,478 INFO L290 TraceCheckUtils]: 67: Hoare triple {65184#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {65131#true} is VALID [2022-02-20 21:52:59,478 INFO L290 TraceCheckUtils]: 68: Hoare triple {65131#true} assume 0 != ~tmp___0~2;#res.base, #res.offset := 0, 0; {65185#(and (= |ldv_malloc_#res.base| 0) (= |ldv_malloc_#res.offset| 0))} is VALID [2022-02-20 21:52:59,478 INFO L290 TraceCheckUtils]: 69: Hoare triple {65185#(and (= |ldv_malloc_#res.base| 0) (= |ldv_malloc_#res.offset| 0))} assume true; {65185#(and (= |ldv_malloc_#res.base| 0) (= |ldv_malloc_#res.offset| 0))} is VALID [2022-02-20 21:52:59,479 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {65185#(and (= |ldv_malloc_#res.base| 0) (= |ldv_malloc_#res.offset| 0))} {65131#true} #923#return; {65161#(and (= |ULTIMATE.start_usb_find_interface_#t~ret214#1.offset| 0) (= |ULTIMATE.start_usb_find_interface_#t~ret214#1.base| 0))} is VALID [2022-02-20 21:52:59,479 INFO L290 TraceCheckUtils]: 71: Hoare triple {65161#(and (= |ULTIMATE.start_usb_find_interface_#t~ret214#1.offset| 0) (= |ULTIMATE.start_usb_find_interface_#t~ret214#1.base| 0))} usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset := usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset; {65162#(and (= |ULTIMATE.start_usb_find_interface_#res#1.base| 0) (= |ULTIMATE.start_usb_find_interface_#res#1.offset| 0))} is VALID [2022-02-20 21:52:59,480 INFO L290 TraceCheckUtils]: 72: Hoare triple {65162#(and (= |ULTIMATE.start_usb_find_interface_#res#1.base| 0) (= |ULTIMATE.start_usb_find_interface_#res#1.offset| 0))} idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset := usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;assume { :end_inline_usb_find_interface } true;idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset := idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset;havoc idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset; {65163#(and (= |ULTIMATE.start_idmouse_open_~interface~0#1.base| 0) (= |ULTIMATE.start_idmouse_open_~interface~0#1.offset| 0))} is VALID [2022-02-20 21:52:59,480 INFO L290 TraceCheckUtils]: 73: Hoare triple {65163#(and (= |ULTIMATE.start_idmouse_open_~interface~0#1.base| 0) (= |ULTIMATE.start_idmouse_open_~interface~0#1.offset| 0))} assume !(0 == (idmouse_open_~interface~0#1.base + idmouse_open_~interface~0#1.offset) % 18446744073709551616); {65132#false} is VALID [2022-02-20 21:52:59,480 INFO L272 TraceCheckUtils]: 74: Hoare triple {65132#false} call mutex_lock_nested(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 0); {65131#true} is VALID [2022-02-20 21:52:59,480 INFO L290 TraceCheckUtils]: 75: Hoare triple {65131#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {65131#true} is VALID [2022-02-20 21:52:59,480 INFO L290 TraceCheckUtils]: 76: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,480 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {65131#true} {65132#false} #925#return; {65132#false} is VALID [2022-02-20 21:52:59,481 INFO L272 TraceCheckUtils]: 78: Hoare triple {65132#false} call idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset := ldv_usb_get_intfdata_2(idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset); {65131#true} is VALID [2022-02-20 21:52:59,481 INFO L290 TraceCheckUtils]: 79: Hoare triple {65131#true} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {65131#true} is VALID [2022-02-20 21:52:59,481 INFO L290 TraceCheckUtils]: 80: Hoare triple {65131#true} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {65131#true} is VALID [2022-02-20 21:52:59,481 INFO L290 TraceCheckUtils]: 81: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,481 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {65131#true} {65132#false} #927#return; {65132#false} is VALID [2022-02-20 21:52:59,481 INFO L290 TraceCheckUtils]: 83: Hoare triple {65132#false} idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset := idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;havoc idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset := idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset; {65132#false} is VALID [2022-02-20 21:52:59,481 INFO L290 TraceCheckUtils]: 84: Hoare triple {65132#false} assume !(0 == (idmouse_open_~dev~0#1.base + idmouse_open_~dev~0#1.offset) % 18446744073709551616); {65132#false} is VALID [2022-02-20 21:52:59,481 INFO L272 TraceCheckUtils]: 85: Hoare triple {65132#false} call mutex_lock_nested(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset, 0); {65131#true} is VALID [2022-02-20 21:52:59,481 INFO L290 TraceCheckUtils]: 86: Hoare triple {65131#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {65131#true} is VALID [2022-02-20 21:52:59,482 INFO L290 TraceCheckUtils]: 87: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,482 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {65131#true} {65132#false} #931#return; {65132#false} is VALID [2022-02-20 21:52:59,482 INFO L272 TraceCheckUtils]: 89: Hoare triple {65132#false} call mutex_unlock(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset); {65131#true} is VALID [2022-02-20 21:52:59,482 INFO L290 TraceCheckUtils]: 90: Hoare triple {65131#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {65131#true} is VALID [2022-02-20 21:52:59,482 INFO L290 TraceCheckUtils]: 91: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,482 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {65131#true} {65132#false} #933#return; {65132#false} is VALID [2022-02-20 21:52:59,482 INFO L290 TraceCheckUtils]: 93: Hoare triple {65132#false} call idmouse_open_#t~mem134#1 := read~int(idmouse_open_~dev~0#1.base, 41 + idmouse_open_~dev~0#1.offset, 4); {65132#false} is VALID [2022-02-20 21:52:59,482 INFO L290 TraceCheckUtils]: 94: Hoare triple {65132#false} assume !(0 != idmouse_open_#t~mem134#1);havoc idmouse_open_#t~mem134#1;assume { :begin_inline_ldv_usb_autopm_get_interface_3 } true;ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset := idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc ldv_usb_autopm_get_interface_3_#res#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset, ldv_usb_autopm_get_interface_3_~tmp~20#1;ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset := ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset;havoc ldv_usb_autopm_get_interface_3_~tmp~20#1;assume { :begin_inline_ldv_get_interface } true;ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset := ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset;havoc ldv_get_interface_#res#1;havoc ldv_get_interface_#t~ret205#1, ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset, ldv_get_interface_~res~1#1, ldv_get_interface_~tmp~25#1;ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset := ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset;havoc ldv_get_interface_~res~1#1;havoc ldv_get_interface_~tmp~25#1; {65132#false} is VALID [2022-02-20 21:52:59,483 INFO L272 TraceCheckUtils]: 95: Hoare triple {65132#false} call ldv_get_interface_#t~ret205#1 := ldv_undef_int(); {65131#true} is VALID [2022-02-20 21:52:59,483 INFO L290 TraceCheckUtils]: 96: Hoare triple {65131#true} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {65131#true} is VALID [2022-02-20 21:52:59,483 INFO L290 TraceCheckUtils]: 97: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,483 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {65131#true} {65132#false} #935#return; {65132#false} is VALID [2022-02-20 21:52:59,483 INFO L290 TraceCheckUtils]: 99: Hoare triple {65132#false} assume -2147483648 <= ldv_get_interface_#t~ret205#1 && ldv_get_interface_#t~ret205#1 <= 2147483647;ldv_get_interface_~tmp~25#1 := ldv_get_interface_#t~ret205#1;havoc ldv_get_interface_#t~ret205#1;ldv_get_interface_~res~1#1 := ldv_get_interface_~tmp~25#1; {65132#false} is VALID [2022-02-20 21:52:59,483 INFO L290 TraceCheckUtils]: 100: Hoare triple {65132#false} assume ldv_get_interface_~res~1#1 <= 0; {65132#false} is VALID [2022-02-20 21:52:59,483 INFO L290 TraceCheckUtils]: 101: Hoare triple {65132#false} assume 0 == ldv_get_interface_~res~1#1;~INTERF_STATE~0 := 1 + ~INTERF_STATE~0; {65132#false} is VALID [2022-02-20 21:52:59,483 INFO L290 TraceCheckUtils]: 102: Hoare triple {65132#false} ldv_get_interface_#res#1 := ldv_get_interface_~res~1#1; {65132#false} is VALID [2022-02-20 21:52:59,484 INFO L290 TraceCheckUtils]: 103: Hoare triple {65132#false} ldv_usb_autopm_get_interface_3_#t~ret198#1 := ldv_get_interface_#res#1;assume { :end_inline_ldv_get_interface } true;assume -2147483648 <= ldv_usb_autopm_get_interface_3_#t~ret198#1 && ldv_usb_autopm_get_interface_3_#t~ret198#1 <= 2147483647;ldv_usb_autopm_get_interface_3_~tmp~20#1 := ldv_usb_autopm_get_interface_3_#t~ret198#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1;ldv_usb_autopm_get_interface_3_#res#1 := ldv_usb_autopm_get_interface_3_~tmp~20#1; {65132#false} is VALID [2022-02-20 21:52:59,484 INFO L290 TraceCheckUtils]: 104: Hoare triple {65132#false} idmouse_open_#t~ret135#1 := ldv_usb_autopm_get_interface_3_#res#1;assume { :end_inline_ldv_usb_autopm_get_interface_3 } true;assume -2147483648 <= idmouse_open_#t~ret135#1 && idmouse_open_#t~ret135#1 <= 2147483647;idmouse_open_~result~1#1 := idmouse_open_#t~ret135#1;havoc idmouse_open_#t~ret135#1; {65132#false} is VALID [2022-02-20 21:52:59,484 INFO L290 TraceCheckUtils]: 105: Hoare triple {65132#false} assume 0 != idmouse_open_~result~1#1; {65132#false} is VALID [2022-02-20 21:52:59,484 INFO L272 TraceCheckUtils]: 106: Hoare triple {65132#false} call mutex_unlock(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset); {65131#true} is VALID [2022-02-20 21:52:59,484 INFO L290 TraceCheckUtils]: 107: Hoare triple {65131#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {65131#true} is VALID [2022-02-20 21:52:59,484 INFO L290 TraceCheckUtils]: 108: Hoare triple {65131#true} assume true; {65131#true} is VALID [2022-02-20 21:52:59,484 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {65131#true} {65132#false} #979#return; {65132#false} is VALID [2022-02-20 21:52:59,484 INFO L290 TraceCheckUtils]: 110: Hoare triple {65132#false} idmouse_open_#res#1 := idmouse_open_~result~1#1; {65132#false} is VALID [2022-02-20 21:52:59,484 INFO L290 TraceCheckUtils]: 111: Hoare triple {65132#false} main_#t~ret195#1 := idmouse_open_#res#1;assume { :end_inline_idmouse_open } true;assume -2147483648 <= main_#t~ret195#1 && main_#t~ret195#1 <= 2147483647;~ldv_retval_5~0 := main_#t~ret195#1;havoc main_#t~ret195#1; {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 112: Hoare triple {65132#false} assume !(0 == ~ldv_retval_5~0); {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 113: Hoare triple {65132#false} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 114: Hoare triple {65132#false} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 115: Hoare triple {65132#false} assume main_#t~switch179#1; {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 116: Hoare triple {65132#false} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 117: Hoare triple {65132#false} assume main_#t~switch188#1; {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 118: Hoare triple {65132#false} assume 3 == ~ldv_state_variable_0~0 && 0 == ~ref_cnt~0;assume { :begin_inline_idmouse_driver_exit } true;assume { :begin_inline_ldv_usb_deregister_10 } true;ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset;havoc ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset := ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset;assume { :begin_inline_usb_deregister } true;usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset := ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;havoc usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset;usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset := usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset; {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 119: Hoare triple {65132#false} assume { :end_inline_usb_deregister } true;~ldv_state_variable_1~0 := 0; {65132#false} is VALID [2022-02-20 21:52:59,485 INFO L290 TraceCheckUtils]: 120: Hoare triple {65132#false} assume { :end_inline_ldv_usb_deregister_10 } true; {65132#false} is VALID [2022-02-20 21:52:59,486 INFO L290 TraceCheckUtils]: 121: Hoare triple {65132#false} assume { :end_inline_idmouse_driver_exit } true;~ldv_state_variable_0~0 := 2; {65132#false} is VALID [2022-02-20 21:52:59,486 INFO L290 TraceCheckUtils]: 122: Hoare triple {65132#false} assume { :begin_inline_ldv_check_final_state } true; {65132#false} is VALID [2022-02-20 21:52:59,486 INFO L290 TraceCheckUtils]: 123: Hoare triple {65132#false} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {65132#false} is VALID [2022-02-20 21:52:59,486 INFO L290 TraceCheckUtils]: 124: Hoare triple {65132#false} assume 0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616; {65132#false} is VALID [2022-02-20 21:52:59,486 INFO L290 TraceCheckUtils]: 125: Hoare triple {65132#false} assume 0 == ~dev_counter~0; {65132#false} is VALID [2022-02-20 21:52:59,486 INFO L290 TraceCheckUtils]: 126: Hoare triple {65132#false} assume !(0 == ~INTERF_STATE~0); {65132#false} is VALID [2022-02-20 21:52:59,486 INFO L272 TraceCheckUtils]: 127: Hoare triple {65132#false} call ldv_error(); {65132#false} is VALID [2022-02-20 21:52:59,486 INFO L290 TraceCheckUtils]: 128: Hoare triple {65132#false} assume !false; {65132#false} is VALID [2022-02-20 21:52:59,487 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-02-20 21:52:59,487 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:52:59,487 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1294167961] [2022-02-20 21:52:59,487 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1294167961] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:52:59,487 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:52:59,487 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 21:52:59,488 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1329707206] [2022-02-20 21:52:59,488 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:52:59,488 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 10.125) internal successors, (81), 5 states have internal predecessors, (81), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (13), 3 states have call predecessors, (13), 2 states have call successors, (13) Word has length 129 [2022-02-20 21:52:59,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:52:59,489 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 10.125) internal successors, (81), 5 states have internal predecessors, (81), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (13), 3 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:52:59,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:52:59,559 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 21:52:59,559 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:52:59,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 21:52:59,559 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-02-20 21:52:59,559 INFO L87 Difference]: Start difference. First operand 5433 states and 7538 transitions. Second operand has 8 states, 8 states have (on average 10.125) internal successors, (81), 5 states have internal predecessors, (81), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (13), 3 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:53:12,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:53:12,979 INFO L93 Difference]: Finished difference Result 13663 states and 19545 transitions. [2022-02-20 21:53:12,979 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 21:53:12,979 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 10.125) internal successors, (81), 5 states have internal predecessors, (81), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (13), 3 states have call predecessors, (13), 2 states have call successors, (13) Word has length 129 [2022-02-20 21:53:12,979 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 21:53:12,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 10.125) internal successors, (81), 5 states have internal predecessors, (81), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (13), 3 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:53:12,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 1188 transitions. [2022-02-20 21:53:12,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 10.125) internal successors, (81), 5 states have internal predecessors, (81), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (13), 3 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:53:12,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 1188 transitions. [2022-02-20 21:53:13,000 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 1188 transitions. [2022-02-20 21:53:13,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1188 edges. 1188 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:53:16,787 INFO L225 Difference]: With dead ends: 13663 [2022-02-20 21:53:16,787 INFO L226 Difference]: Without dead ends: 8248 [2022-02-20 21:53:16,797 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:53:16,798 INFO L933 BasicCegarLoop]: 680 mSDtfsCounter, 373 mSDsluCounter, 2705 mSDsCounter, 0 mSdLazyCounter, 829 mSolverCounterSat, 142 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 380 SdHoareTripleChecker+Valid, 3385 SdHoareTripleChecker+Invalid, 971 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 142 IncrementalHoareTripleChecker+Valid, 829 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-02-20 21:53:16,798 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [380 Valid, 3385 Invalid, 971 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [142 Valid, 829 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-02-20 21:53:16,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8248 states. [2022-02-20 21:53:17,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8248 to 5493. [2022-02-20 21:53:17,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 21:53:17,636 INFO L82 GeneralOperation]: Start isEquivalent. First operand 8248 states. Second operand has 5493 states, 4045 states have (on average 1.3359703337453646) internal successors, (5404), 4106 states have internal predecessors, (5404), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 355 states have return successors, (1126), 1042 states have call predecessors, (1126), 1090 states have call successors, (1126) [2022-02-20 21:53:17,643 INFO L74 IsIncluded]: Start isIncluded. First operand 8248 states. Second operand has 5493 states, 4045 states have (on average 1.3359703337453646) internal successors, (5404), 4106 states have internal predecessors, (5404), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 355 states have return successors, (1126), 1042 states have call predecessors, (1126), 1090 states have call successors, (1126) [2022-02-20 21:53:17,650 INFO L87 Difference]: Start difference. First operand 8248 states. Second operand has 5493 states, 4045 states have (on average 1.3359703337453646) internal successors, (5404), 4106 states have internal predecessors, (5404), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 355 states have return successors, (1126), 1042 states have call predecessors, (1126), 1090 states have call successors, (1126) [2022-02-20 21:53:19,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:53:19,915 INFO L93 Difference]: Finished difference Result 8248 states and 12018 transitions. [2022-02-20 21:53:19,915 INFO L276 IsEmpty]: Start isEmpty. Operand 8248 states and 12018 transitions. [2022-02-20 21:53:19,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:53:19,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:53:19,942 INFO L74 IsIncluded]: Start isIncluded. First operand has 5493 states, 4045 states have (on average 1.3359703337453646) internal successors, (5404), 4106 states have internal predecessors, (5404), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 355 states have return successors, (1126), 1042 states have call predecessors, (1126), 1090 states have call successors, (1126) Second operand 8248 states. [2022-02-20 21:53:19,948 INFO L87 Difference]: Start difference. First operand has 5493 states, 4045 states have (on average 1.3359703337453646) internal successors, (5404), 4106 states have internal predecessors, (5404), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 355 states have return successors, (1126), 1042 states have call predecessors, (1126), 1090 states have call successors, (1126) Second operand 8248 states. [2022-02-20 21:53:22,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 21:53:22,234 INFO L93 Difference]: Finished difference Result 8248 states and 12018 transitions. [2022-02-20 21:53:22,234 INFO L276 IsEmpty]: Start isEmpty. Operand 8248 states and 12018 transitions. [2022-02-20 21:53:22,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 21:53:22,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 21:53:22,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 21:53:22,247 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 21:53:22,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5493 states, 4045 states have (on average 1.3359703337453646) internal successors, (5404), 4106 states have internal predecessors, (5404), 1092 states have call successors, (1092), 344 states have call predecessors, (1092), 355 states have return successors, (1126), 1042 states have call predecessors, (1126), 1090 states have call successors, (1126) [2022-02-20 21:53:23,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5493 states to 5493 states and 7622 transitions. [2022-02-20 21:53:23,617 INFO L78 Accepts]: Start accepts. Automaton has 5493 states and 7622 transitions. Word has length 129 [2022-02-20 21:53:23,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:53:23,617 INFO L470 AbstractCegarLoop]: Abstraction has 5493 states and 7622 transitions. [2022-02-20 21:53:23,617 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 10.125) internal successors, (81), 5 states have internal predecessors, (81), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (13), 3 states have call predecessors, (13), 2 states have call successors, (13) [2022-02-20 21:53:23,617 INFO L276 IsEmpty]: Start isEmpty. Operand 5493 states and 7622 transitions. [2022-02-20 21:53:23,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-02-20 21:53:23,624 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 21:53:23,624 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-02-20 21:53:23,624 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 21:53:23,624 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:53:23,625 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:53:23,625 INFO L85 PathProgramCache]: Analyzing trace with hash 1120717474, now seen corresponding path program 1 times [2022-02-20 21:53:23,625 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:53:23,625 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [994803431] [2022-02-20 21:53:23,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:53:23,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:53:23,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,791 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:53:23,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,801 INFO L290 TraceCheckUtils]: 0: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #857#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 21:53:23,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,809 INFO L290 TraceCheckUtils]: 0: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,810 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #859#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-02-20 21:53:23,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,818 INFO L290 TraceCheckUtils]: 0: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,819 INFO L290 TraceCheckUtils]: 2: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,819 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #861#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-02-20 21:53:23,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,828 INFO L290 TraceCheckUtils]: 0: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,829 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #891#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,829 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 41 [2022-02-20 21:53:23,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,836 INFO L290 TraceCheckUtils]: 0: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #893#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 21:53:23,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,845 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #895#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,850 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 66 [2022-02-20 21:53:23,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 21:53:23,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,869 INFO L290 TraceCheckUtils]: 0: Hoare triple {108381#true} ~cond := #in~cond; {108381#true} is VALID [2022-02-20 21:53:23,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume !(0 == ~cond); {108381#true} is VALID [2022-02-20 21:53:23,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108381#true} {108381#true} #853#return; {108381#true} is VALID [2022-02-20 21:53:23,870 INFO L290 TraceCheckUtils]: 0: Hoare triple {108440#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {108381#true} is VALID [2022-02-20 21:53:23,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume !(0 != ~tmp___0~2);call #t~malloc72.base, #t~malloc72.offset := #Ultimate.allocOnHeap(~size);~tmp~5.base, ~tmp~5.offset := #t~malloc72.base, #t~malloc72.offset;havoc #t~malloc72.base, #t~malloc72.offset;~p~0.base, ~p~0.offset := ~tmp~5.base, ~tmp~5.offset; {108381#true} is VALID [2022-02-20 21:53:23,870 INFO L272 TraceCheckUtils]: 2: Hoare triple {108381#true} call assume_abort_if_not((if 0 != (~p~0.base + ~p~0.offset) % 18446744073709551616 then 1 else 0)); {108381#true} is VALID [2022-02-20 21:53:23,871 INFO L290 TraceCheckUtils]: 3: Hoare triple {108381#true} ~cond := #in~cond; {108381#true} is VALID [2022-02-20 21:53:23,871 INFO L290 TraceCheckUtils]: 4: Hoare triple {108381#true} assume !(0 == ~cond); {108381#true} is VALID [2022-02-20 21:53:23,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,871 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {108381#true} {108381#true} #853#return; {108381#true} is VALID [2022-02-20 21:53:23,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {108381#true} #res.base, #res.offset := ~p~0.base, ~p~0.offset; {108381#true} is VALID [2022-02-20 21:53:23,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,872 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #923#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 80 [2022-02-20 21:53:23,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {108381#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {108381#true} is VALID [2022-02-20 21:53:23,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,877 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #925#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,877 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 84 [2022-02-20 21:53:23,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,901 INFO L290 TraceCheckUtils]: 0: Hoare triple {108381#true} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {108445#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_ldv_usb_get_intfdata_#res#1.base|) (= |ldv_usb_get_intfdata_2_ldv_usb_get_intfdata_#res#1.offset| ~usb_intfdata~0.offset))} is VALID [2022-02-20 21:53:23,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {108445#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_ldv_usb_get_intfdata_#res#1.base|) (= |ldv_usb_get_intfdata_2_ldv_usb_get_intfdata_#res#1.offset| ~usb_intfdata~0.offset))} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {108446#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_#res#1.base|) (= |ldv_usb_get_intfdata_2_#res#1.offset| ~usb_intfdata~0.offset))} is VALID [2022-02-20 21:53:23,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {108446#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_#res#1.base|) (= |ldv_usb_get_intfdata_2_#res#1.offset| ~usb_intfdata~0.offset))} assume true; {108446#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_#res#1.base|) (= |ldv_usb_get_intfdata_2_#res#1.offset| ~usb_intfdata~0.offset))} is VALID [2022-02-20 21:53:23,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {108446#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_#res#1.base|) (= |ldv_usb_get_intfdata_2_#res#1.offset| ~usb_intfdata~0.offset))} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #927#return; {108425#(and (= |ULTIMATE.start_idmouse_open_#t~ret133#1.base| 0) (= |ULTIMATE.start_idmouse_open_#t~ret133#1.offset| 0))} is VALID [2022-02-20 21:53:23,903 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 91 [2022-02-20 21:53:23,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,907 INFO L290 TraceCheckUtils]: 0: Hoare triple {108381#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {108381#true} is VALID [2022-02-20 21:53:23,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,907 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {108381#true} {108382#false} #931#return; {108382#false} is VALID [2022-02-20 21:53:23,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 95 [2022-02-20 21:53:23,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,911 INFO L290 TraceCheckUtils]: 0: Hoare triple {108381#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {108381#true} is VALID [2022-02-20 21:53:23,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,911 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {108381#true} {108382#false} #933#return; {108382#false} is VALID [2022-02-20 21:53:23,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 101 [2022-02-20 21:53:23,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,915 INFO L290 TraceCheckUtils]: 0: Hoare triple {108381#true} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {108381#true} is VALID [2022-02-20 21:53:23,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,916 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {108381#true} {108382#false} #935#return; {108382#false} is VALID [2022-02-20 21:53:23,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 112 [2022-02-20 21:53:23,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:53:23,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {108381#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {108381#true} is VALID [2022-02-20 21:53:23,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,922 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {108381#true} {108382#false} #979#return; {108382#false} is VALID [2022-02-20 21:53:23,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {108381#true} assume { :begin_inline_ULTIMATE.init } 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(82, 2);call #Ultimate.allocInit(26, 3);call #Ultimate.allocInit(16, 4);call #Ultimate.allocInit(10, 5);call #Ultimate.allocInit(8, 6);call #Ultimate.allocInit(16, 7);call #Ultimate.allocInit(16, 8);call #Ultimate.allocInit(8, 9);call #Ultimate.allocInit(21, 10);call #Ultimate.allocInit(219, 11);call #Ultimate.allocInit(32, 12);call #Ultimate.allocInit(32, 13);call #Ultimate.allocInit(11, 14);call #Ultimate.allocInit(34, 15);call #Ultimate.allocInit(34, 16);call #Ultimate.allocInit(33, 17);call #Ultimate.allocInit(17, 18);call #Ultimate.allocInit(41, 19);call #Ultimate.allocInit(14, 20);call #Ultimate.allocInit(8, 21);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := 0, 0;~ref_cnt~0 := 0;~ldv_state_variable_1~0 := 0;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := 0, 0;~usb_counter~0 := 0;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#idmouse_table~0.base, ~#idmouse_table~0.offset := 22, 0;call #Ultimate.allocInit(75, 22);call write~init~int(3, ~#idmouse_table~0.base, ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 2 + ~#idmouse_table~0.offset, 2);call write~init~int(5, ~#idmouse_table~0.base, 4 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 6 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 8 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 10 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 11 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 12 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 13 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 14 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 15 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 16 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 17 + ~#idmouse_table~0.offset, 8);call write~init~int(3, ~#idmouse_table~0.base, 25 + ~#idmouse_table~0.offset, 2);call write~init~int(1665, ~#idmouse_table~0.base, 27 + ~#idmouse_table~0.offset, 2);call write~init~int(16, ~#idmouse_table~0.base, 29 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 31 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 33 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 35 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 36 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 37 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 38 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 39 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 40 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 41 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 42 + ~#idmouse_table~0.offset, 8);call write~init~int(0, ~#idmouse_table~0.base, 50 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 52 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 54 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 56 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 58 + ~#idmouse_table~0.offset, 2);call write~init~int(0, ~#idmouse_table~0.base, 60 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 61 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 62 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 63 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 64 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 65 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 66 + ~#idmouse_table~0.offset, 1);call write~init~int(0, ~#idmouse_table~0.base, 67 + ~#idmouse_table~0.offset, 8);~__mod_usb_device_table~0.match_flags := 0;~__mod_usb_device_table~0.idVendor := 0;~__mod_usb_device_table~0.idProduct := 0;~__mod_usb_device_table~0.bcdDevice_lo := 0;~__mod_usb_device_table~0.bcdDevice_hi := 0;~__mod_usb_device_table~0.bDeviceClass := 0;~__mod_usb_device_table~0.bDeviceSubClass := 0;~__mod_usb_device_table~0.bDeviceProtocol := 0;~__mod_usb_device_table~0.bInterfaceClass := 0;~__mod_usb_device_table~0.bInterfaceSubClass := 0;~__mod_usb_device_table~0.bInterfaceProtocol := 0;~__mod_usb_device_table~0.bInterfaceNumber := 0;~__mod_usb_device_table~0.driver_info := 0;~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset := 23, 0;call #Ultimate.allocInit(156, 23);call write~init~int(1, ~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 4 + ~#open_disc_mutex~0.offset, 4);call write~init~int(3735899821, ~#open_disc_mutex~0.base, 8 + ~#open_disc_mutex~0.offset, 4);call write~init~int(4294967295, ~#open_disc_mutex~0.base, 12 + ~#open_disc_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#open_disc_mutex~0.base, 16 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 24 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 32 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 40 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(3, 0, ~#open_disc_mutex~0.base, 48 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 56 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 60 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, 72 + ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 80 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 88 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 96 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, ~#open_disc_mutex~0.base, 104 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 112 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 120 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#open_disc_mutex~0.base, 128 + ~#open_disc_mutex~0.offset, 8);call write~init~$Pointer$(4, 0, ~#open_disc_mutex~0.base, 136 + ~#open_disc_mutex~0.offset, 8);call write~init~int(0, ~#open_disc_mutex~0.base, 144 + ~#open_disc_mutex~0.offset, 4);call write~init~int(0, ~#open_disc_mutex~0.base, 148 + ~#open_disc_mutex~0.offset, 8);~#idmouse_fops~0.base, ~#idmouse_fops~0.offset := 24, 0;call #Ultimate.allocInit(216, 24);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~default_llseek.base, #funAddr~default_llseek.offset, ~#idmouse_fops~0.base, 8 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_read.base, #funAddr~idmouse_read.offset, ~#idmouse_fops~0.base, 16 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 24 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 32 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 40 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 48 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 56 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 64 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 72 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 80 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_open.base, #funAddr~idmouse_open.offset, ~#idmouse_fops~0.base, 88 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 96 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_release.base, #funAddr~idmouse_release.offset, ~#idmouse_fops~0.base, 104 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 112 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 120 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 128 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 136 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 144 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 152 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 160 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 168 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 176 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 184 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 192 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 200 + ~#idmouse_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_fops~0.base, 208 + ~#idmouse_fops~0.offset, 8);~#idmouse_class~0.base, ~#idmouse_class~0.offset := 25, 0;call #Ultimate.allocInit(28, 25);call write~init~$Pointer$(5, 0, ~#idmouse_class~0.base, ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_class~0.base, 8 + ~#idmouse_class~0.offset, 8);call write~init~$Pointer$(~#idmouse_fops~0.base, ~#idmouse_fops~0.offset, ~#idmouse_class~0.base, 16 + ~#idmouse_class~0.offset, 8);call write~init~int(132, ~#idmouse_class~0.base, 24 + ~#idmouse_class~0.offset, 4);~#idmouse_driver~0.base, ~#idmouse_driver~0.offset := 26, 0;call #Ultimate.allocInit(285, 26);call write~init~$Pointer$(6, 0, ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_probe.base, #funAddr~idmouse_probe.offset, ~#idmouse_driver~0.base, 8 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_disconnect.base, #funAddr~idmouse_disconnect.offset, ~#idmouse_driver~0.base, 16 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 24 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_suspend.base, #funAddr~idmouse_suspend.offset, ~#idmouse_driver~0.base, 32 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 40 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~idmouse_resume.base, #funAddr~idmouse_resume.offset, ~#idmouse_driver~0.base, 48 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 56 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 64 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(~#idmouse_table~0.base, ~#idmouse_table~0.offset, ~#idmouse_driver~0.base, 72 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 80 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 84 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 88 + ~#idmouse_driver~0.offset, 4);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 92 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 100 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 108 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 116 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 124 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 132 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 136 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 148 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 156 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 164 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 172 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 180 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 188 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 196 + ~#idmouse_driver~0.offset, 1);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 197 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 205 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 213 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 221 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 229 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 237 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 245 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 253 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 261 + ~#idmouse_driver~0.offset, 8);call write~init~$Pointer$(0, 0, ~#idmouse_driver~0.base, 269 + ~#idmouse_driver~0.offset, 8);call write~init~int(0, ~#idmouse_driver~0.base, 277 + ~#idmouse_driver~0.offset, 4);call write~init~int(0, ~#idmouse_driver~0.base, 281 + ~#idmouse_driver~0.offset, 1);call write~init~int(1, ~#idmouse_driver~0.base, 282 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 283 + ~#idmouse_driver~0.offset, 1);call write~init~int(0, ~#idmouse_driver~0.base, 284 + ~#idmouse_driver~0.offset, 1);~ldv_retval_2~0 := 0;~ldv_retval_0~0 := 0;~ldv_retval_5~0 := 0;~ldv_retval_4~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_3~0 := 0;~INTERF_STATE~0 := 0;~SERIAL_STATE~0 := 0;~usb_intfdata~0.base, ~usb_intfdata~0.offset := 0, 0;~usb_urb~0.base, ~usb_urb~0.offset := 0, 0;~usb_dev~0.base, ~usb_dev~0.offset := 0, 0;~dev_counter~0 := 0;~completeFnIntCounter~0 := 0;~completeFnBulkCounter~0 := 0;~completeFnInt~0.base, ~completeFnInt~0.offset := 0, 0;~completeFnBulk~0.base, ~completeFnBulk~0.offset := 0, 0; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset, main_#t~ret172#1.base, main_#t~ret172#1.offset, main_#t~nondet173#1, main_#t~nondet174#1, main_#t~nondet175#1, main_#t~ret176#1.base, main_#t~ret176#1.offset, main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset, main_#t~nondet178#1, main_#t~switch179#1, main_#t~nondet180#1, main_#t~switch181#1, main_#t~ret182#1, main_#t~ret183#1, main_#t~mem184#1, main_#t~ret185#1, main_#t~ret186#1, main_#t~nondet187#1, main_#t~switch188#1, main_#t~ret189#1, main_#t~nondet190#1, main_#t~switch191#1, main_#t~ret192#1, main_#t~ret193#1, main_#t~ret194#1, main_#t~ret195#1, main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset, main_~tmp~17#1.base, main_~tmp~17#1.offset, main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset, main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset, main_~ldvarg3~0#1, main_~tmp___1~3#1, main_~ldvarg5~0#1, main_~tmp___2~3#1, main_~ldvarg2~0#1, main_~tmp___3~2#1, main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset, main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset, main_~tmp___5~1#1, main_~tmp___6~1#1, main_~tmp___7~1#1, main_~tmp___8~1#1;havoc main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset;havoc main_~tmp~17#1.base, main_~tmp~17#1.offset;call main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset;havoc main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;havoc main_~ldvarg3~0#1;havoc main_~tmp___1~3#1;havoc main_~ldvarg5~0#1;havoc main_~tmp___2~3#1;havoc main_~ldvarg2~0#1;havoc main_~tmp___3~2#1;havoc main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset;havoc main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;havoc main_~tmp___5~1#1;havoc main_~tmp___6~1#1;havoc main_~tmp___7~1#1;havoc main_~tmp___8~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,929 INFO L272 TraceCheckUtils]: 2: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call main_#t~ret171#1.base, main_#t~ret171#1.offset := ldv_zalloc(32); {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:53:23,930 INFO L290 TraceCheckUtils]: 3: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,930 INFO L290 TraceCheckUtils]: 4: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,930 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #857#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,931 INFO L290 TraceCheckUtils]: 7: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} main_~tmp~17#1.base, main_~tmp~17#1.offset := main_#t~ret171#1.base, main_#t~ret171#1.offset;havoc main_#t~ret171#1.base, main_#t~ret171#1.offset;main_~ldvarg1~0#1.base, main_~ldvarg1~0#1.offset := main_~tmp~17#1.base, main_~tmp~17#1.offset; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,931 INFO L272 TraceCheckUtils]: 8: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call main_#t~ret172#1.base, main_#t~ret172#1.offset := ldv_zalloc(8); {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:53:23,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,931 INFO L290 TraceCheckUtils]: 10: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,932 INFO L290 TraceCheckUtils]: 11: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,932 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #859#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset := main_#t~ret172#1.base, main_#t~ret172#1.offset;havoc main_#t~ret172#1.base, main_#t~ret172#1.offset;main_~ldvarg4~0#1.base, main_~ldvarg4~0#1.offset := main_~tmp___0~8#1.base, main_~tmp___0~8#1.offset;assume -9223372036854775808 <= main_#t~nondet173#1 && main_#t~nondet173#1 <= 9223372036854775807;main_~tmp___1~3#1 := main_#t~nondet173#1;havoc main_#t~nondet173#1;main_~ldvarg3~0#1 := main_~tmp___1~3#1;assume -2147483648 <= main_#t~nondet174#1 && main_#t~nondet174#1 <= 2147483647;main_~tmp___2~3#1 := main_#t~nondet174#1;havoc main_#t~nondet174#1;main_~ldvarg5~0#1 := main_~tmp___2~3#1;assume -2147483648 <= main_#t~nondet175#1 && main_#t~nondet175#1 <= 2147483647;main_~tmp___3~2#1 := main_#t~nondet175#1;havoc main_#t~nondet175#1;main_~ldvarg2~0#1 := main_~tmp___3~2#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,933 INFO L272 TraceCheckUtils]: 14: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call main_#t~ret176#1.base, main_#t~ret176#1.offset := ldv_zalloc(1); {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:53:23,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,933 INFO L290 TraceCheckUtils]: 16: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,933 INFO L290 TraceCheckUtils]: 17: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,934 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #861#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,934 INFO L290 TraceCheckUtils]: 19: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset := main_#t~ret176#1.base, main_#t~ret176#1.offset;havoc main_#t~ret176#1.base, main_#t~ret176#1.offset;main_~ldvarg6~0#1.base, main_~ldvarg6~0#1.offset := main_~tmp___4~1#1.base, main_~tmp___4~1#1.offset;assume { :begin_inline_ldv_initialize } true; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume { :end_inline_ldv_initialize } true;assume { :begin_inline_#Ultimate.C_memset } true;#Ultimate.C_memset_#ptr#1.base, #Ultimate.C_memset_#ptr#1.offset, #Ultimate.C_memset_#value#1, #Ultimate.C_memset_#amount#1 := main_~#ldvarg0~0#1.base, main_~#ldvarg0~0#1.offset, 0, 4;havoc #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;havoc #Ultimate.C_memset_#t~loopctr219#1;#Ultimate.C_memset_#t~loopctr219#1 := 0; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,935 INFO L290 TraceCheckUtils]: 21: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !(#Ultimate.C_memset_#t~loopctr219#1 % 18446744073709551616 < #Ultimate.C_memset_#amount#1 % 18446744073709551616); {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,936 INFO L290 TraceCheckUtils]: 22: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume #Ultimate.C_memset_#res#1.base == #Ultimate.C_memset_#ptr#1.base && #Ultimate.C_memset_#res#1.offset == #Ultimate.C_memset_#ptr#1.offset;main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset := #Ultimate.C_memset_#res#1.base, #Ultimate.C_memset_#res#1.offset;assume { :end_inline_#Ultimate.C_memset } true;havoc main_#t~memset~res177#1.base, main_#t~memset~res177#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,936 INFO L290 TraceCheckUtils]: 23: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,936 INFO L290 TraceCheckUtils]: 24: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume main_#t~switch179#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,937 INFO L290 TraceCheckUtils]: 26: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,938 INFO L290 TraceCheckUtils]: 27: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !main_#t~switch188#1;main_#t~switch188#1 := main_#t~switch188#1 || 1 == main_~tmp___7~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,938 INFO L290 TraceCheckUtils]: 28: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume main_#t~switch188#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,939 INFO L290 TraceCheckUtils]: 29: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume 1 == ~ldv_state_variable_0~0;assume { :begin_inline_idmouse_driver_init } true;havoc idmouse_driver_init_#res#1;havoc idmouse_driver_init_#t~ret167#1, idmouse_driver_init_~tmp~14#1;havoc idmouse_driver_init_~tmp~14#1;assume { :begin_inline_ldv_usb_register_driver_9 } true;ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, ~#__this_module~0.base, ~#__this_module~0.offset, 21, 0;havoc ldv_usb_register_driver_9_#res#1;havoc ldv_usb_register_driver_9_#t~ret199#1, ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset, ldv_usb_register_driver_9_~ldv_func_res~0#1, ldv_usb_register_driver_9_~tmp~21#1;ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg1#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg1#1.offset;ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg2#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg2#1.offset;ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset := ldv_usb_register_driver_9_#in~ldv_func_arg3#1.base, ldv_usb_register_driver_9_#in~ldv_func_arg3#1.offset;havoc ldv_usb_register_driver_9_~ldv_func_res~0#1;havoc ldv_usb_register_driver_9_~tmp~21#1;assume { :begin_inline_usb_register_driver } true;usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset, usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset, usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset := ldv_usb_register_driver_9_~ldv_func_arg1#1.base, ldv_usb_register_driver_9_~ldv_func_arg1#1.offset, ldv_usb_register_driver_9_~ldv_func_arg2#1.base, ldv_usb_register_driver_9_~ldv_func_arg2#1.offset, ldv_usb_register_driver_9_~ldv_func_arg3#1.base, ldv_usb_register_driver_9_~ldv_func_arg3#1.offset;havoc usb_register_driver_#res#1;havoc usb_register_driver_#t~nondet216#1, usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset, usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset, usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset;usb_register_driver_~arg0#1.base, usb_register_driver_~arg0#1.offset := usb_register_driver_#in~arg0#1.base, usb_register_driver_#in~arg0#1.offset;usb_register_driver_~arg1#1.base, usb_register_driver_~arg1#1.offset := usb_register_driver_#in~arg1#1.base, usb_register_driver_#in~arg1#1.offset;usb_register_driver_~arg2#1.base, usb_register_driver_~arg2#1.offset := usb_register_driver_#in~arg2#1.base, usb_register_driver_#in~arg2#1.offset;assume -2147483648 <= usb_register_driver_#t~nondet216#1 && usb_register_driver_#t~nondet216#1 <= 2147483647;usb_register_driver_#res#1 := usb_register_driver_#t~nondet216#1;havoc usb_register_driver_#t~nondet216#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,939 INFO L290 TraceCheckUtils]: 30: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} ldv_usb_register_driver_9_#t~ret199#1 := usb_register_driver_#res#1;assume { :end_inline_usb_register_driver } true;assume -2147483648 <= ldv_usb_register_driver_9_#t~ret199#1 && ldv_usb_register_driver_9_#t~ret199#1 <= 2147483647;ldv_usb_register_driver_9_~tmp~21#1 := ldv_usb_register_driver_9_#t~ret199#1;havoc ldv_usb_register_driver_9_#t~ret199#1;ldv_usb_register_driver_9_~ldv_func_res~0#1 := ldv_usb_register_driver_9_~tmp~21#1;~ldv_state_variable_1~0 := 1;~usb_counter~0 := 0;assume { :begin_inline_ldv_usb_driver_1 } true;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset, ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset;havoc ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,940 INFO L272 TraceCheckUtils]: 31: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset := ldv_zalloc(1520); {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:53:23,940 INFO L290 TraceCheckUtils]: 32: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,940 INFO L290 TraceCheckUtils]: 33: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,941 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #891#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,941 INFO L290 TraceCheckUtils]: 36: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset := ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;havoc ldv_usb_driver_1_#t~ret168#1.base, ldv_usb_driver_1_#t~ret168#1.offset;~idmouse_driver_group1~0.base, ~idmouse_driver_group1~0.offset := ldv_usb_driver_1_~tmp~15#1.base, ldv_usb_driver_1_~tmp~15#1.offset; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,941 INFO L290 TraceCheckUtils]: 37: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume { :end_inline_ldv_usb_driver_1 } true;ldv_usb_register_driver_9_#res#1 := ldv_usb_register_driver_9_~ldv_func_res~0#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,942 INFO L290 TraceCheckUtils]: 38: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} idmouse_driver_init_#t~ret167#1 := ldv_usb_register_driver_9_#res#1;assume { :end_inline_ldv_usb_register_driver_9 } true;assume -2147483648 <= idmouse_driver_init_#t~ret167#1 && idmouse_driver_init_#t~ret167#1 <= 2147483647;idmouse_driver_init_~tmp~14#1 := idmouse_driver_init_#t~ret167#1;havoc idmouse_driver_init_#t~ret167#1;idmouse_driver_init_#res#1 := idmouse_driver_init_~tmp~14#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,942 INFO L290 TraceCheckUtils]: 39: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} main_#t~ret189#1 := idmouse_driver_init_#res#1;assume { :end_inline_idmouse_driver_init } true;assume -2147483648 <= main_#t~ret189#1 && main_#t~ret189#1 <= 2147483647;~ldv_retval_4~0 := main_#t~ret189#1;havoc main_#t~ret189#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,943 INFO L290 TraceCheckUtils]: 40: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume 0 == ~ldv_retval_4~0;~ldv_state_variable_0~0 := 3;~ldv_state_variable_2~0 := 1;assume { :begin_inline_ldv_file_operations_2 } true;havoc ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset, ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset, ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset, ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset;havoc ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset;havoc ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,943 INFO L272 TraceCheckUtils]: 41: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset := ldv_zalloc(1032); {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:53:23,943 INFO L290 TraceCheckUtils]: 42: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,943 INFO L290 TraceCheckUtils]: 43: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,943 INFO L290 TraceCheckUtils]: 44: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,944 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #893#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,944 INFO L290 TraceCheckUtils]: 46: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset := ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset;havoc ldv_file_operations_2_#t~ret169#1.base, ldv_file_operations_2_#t~ret169#1.offset;~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset := ldv_file_operations_2_~tmp~16#1.base, ldv_file_operations_2_~tmp~16#1.offset; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,945 INFO L272 TraceCheckUtils]: 47: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset := ldv_zalloc(360); {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:53:23,945 INFO L290 TraceCheckUtils]: 48: Hoare triple {108439#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size#1 := #in~size#1;havoc ~p~1#1.base, ~p~1#1.offset;havoc ~tmp~6#1.base, ~tmp~6#1.offset;havoc ~tmp___0~3#1;assume -2147483648 <= #t~nondet73#1 && #t~nondet73#1 <= 2147483647;~tmp___0~3#1 := #t~nondet73#1;havoc #t~nondet73#1; {108381#true} is VALID [2022-02-20 21:53:23,945 INFO L290 TraceCheckUtils]: 49: Hoare triple {108381#true} assume 0 != ~tmp___0~3#1;#res#1.base, #res#1.offset := 0, 0; {108381#true} is VALID [2022-02-20 21:53:23,945 INFO L290 TraceCheckUtils]: 50: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,946 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #895#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,946 INFO L290 TraceCheckUtils]: 52: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset := ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset;havoc ldv_file_operations_2_#t~ret170#1.base, ldv_file_operations_2_#t~ret170#1.offset;~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset := ldv_file_operations_2_~tmp___0~7#1.base, ldv_file_operations_2_~tmp___0~7#1.offset; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,946 INFO L290 TraceCheckUtils]: 53: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume { :end_inline_ldv_file_operations_2 } true; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,947 INFO L290 TraceCheckUtils]: 54: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !(0 != ~ldv_retval_4~0); {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,947 INFO L290 TraceCheckUtils]: 55: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,948 INFO L290 TraceCheckUtils]: 56: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,948 INFO L290 TraceCheckUtils]: 57: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 2 == main_~tmp___5~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,948 INFO L290 TraceCheckUtils]: 58: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume main_#t~switch179#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,949 INFO L290 TraceCheckUtils]: 59: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume 0 != ~ldv_state_variable_2~0;assume -2147483648 <= main_#t~nondet190#1 && main_#t~nondet190#1 <= 2147483647;main_~tmp___8~1#1 := main_#t~nondet190#1;havoc main_#t~nondet190#1;main_#t~switch191#1 := 0 == main_~tmp___8~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,949 INFO L290 TraceCheckUtils]: 60: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 1 == main_~tmp___8~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,950 INFO L290 TraceCheckUtils]: 61: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 2 == main_~tmp___8~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,950 INFO L290 TraceCheckUtils]: 62: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !main_#t~switch191#1;main_#t~switch191#1 := main_#t~switch191#1 || 3 == main_~tmp___8~1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,950 INFO L290 TraceCheckUtils]: 63: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume main_#t~switch191#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,951 INFO L290 TraceCheckUtils]: 64: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume 1 == ~ldv_state_variable_2~0;assume { :begin_inline_idmouse_open } true;idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset, idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset := ~idmouse_fops_group1~0.base, ~idmouse_fops_group1~0.offset, ~idmouse_fops_group2~0.base, ~idmouse_fops_group2~0.offset;havoc idmouse_open_#res#1;havoc idmouse_open_#t~ret131#1, idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset, idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset, idmouse_open_#t~mem134#1, idmouse_open_#t~ret135#1, idmouse_open_#t~ret136#1, idmouse_open_#t~mem137#1, idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset, idmouse_open_~file#1.base, idmouse_open_~file#1.offset, idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset, idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset, idmouse_open_~result~1#1, idmouse_open_~tmp~10#1, idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset := idmouse_open_#in~inode#1.base, idmouse_open_#in~inode#1.offset;idmouse_open_~file#1.base, idmouse_open_~file#1.offset := idmouse_open_#in~file#1.base, idmouse_open_#in~file#1.offset;havoc idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset;havoc idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc idmouse_open_~result~1#1;havoc idmouse_open_~tmp~10#1;havoc idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset;assume { :begin_inline_iminor } true;iminor_#in~inode#1.base, iminor_#in~inode#1.offset := idmouse_open_~inode#1.base, idmouse_open_~inode#1.offset;havoc iminor_#res#1;havoc iminor_#t~mem27#1, iminor_~inode#1.base, iminor_~inode#1.offset;iminor_~inode#1.base, iminor_~inode#1.offset := iminor_#in~inode#1.base, iminor_#in~inode#1.offset;call iminor_#t~mem27#1 := read~int(iminor_~inode#1.base, 76 + iminor_~inode#1.offset, 4);iminor_#res#1 := (if 0 == iminor_#t~mem27#1 then 0 else (if 1 == iminor_#t~mem27#1 then 1 else ~bitwiseAnd(iminor_#t~mem27#1, 1048575)));havoc iminor_#t~mem27#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,951 INFO L290 TraceCheckUtils]: 65: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} idmouse_open_#t~ret131#1 := iminor_#res#1;assume { :end_inline_iminor } true;idmouse_open_~tmp~10#1 := idmouse_open_#t~ret131#1;havoc idmouse_open_#t~ret131#1;assume { :begin_inline_usb_find_interface } true;usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset, usb_find_interface_#in~arg1#1 := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset, (if idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 <= 2147483647 then idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 else idmouse_open_~tmp~10#1 % 4294967296 % 4294967296 - 4294967296);havoc usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset, usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset, usb_find_interface_~arg1#1;usb_find_interface_~arg0#1.base, usb_find_interface_~arg0#1.offset := usb_find_interface_#in~arg0#1.base, usb_find_interface_#in~arg0#1.offset;usb_find_interface_~arg1#1 := usb_find_interface_#in~arg1#1; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,952 INFO L272 TraceCheckUtils]: 66: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset := ldv_malloc(1434); {108440#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 21:53:23,952 INFO L290 TraceCheckUtils]: 67: Hoare triple {108440#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~0.base, ~p~0.offset;havoc ~tmp~5.base, ~tmp~5.offset;havoc ~tmp___0~2;assume -2147483648 <= #t~nondet71 && #t~nondet71 <= 2147483647;~tmp___0~2 := #t~nondet71;havoc #t~nondet71; {108381#true} is VALID [2022-02-20 21:53:23,952 INFO L290 TraceCheckUtils]: 68: Hoare triple {108381#true} assume !(0 != ~tmp___0~2);call #t~malloc72.base, #t~malloc72.offset := #Ultimate.allocOnHeap(~size);~tmp~5.base, ~tmp~5.offset := #t~malloc72.base, #t~malloc72.offset;havoc #t~malloc72.base, #t~malloc72.offset;~p~0.base, ~p~0.offset := ~tmp~5.base, ~tmp~5.offset; {108381#true} is VALID [2022-02-20 21:53:23,952 INFO L272 TraceCheckUtils]: 69: Hoare triple {108381#true} call assume_abort_if_not((if 0 != (~p~0.base + ~p~0.offset) % 18446744073709551616 then 1 else 0)); {108381#true} is VALID [2022-02-20 21:53:23,952 INFO L290 TraceCheckUtils]: 70: Hoare triple {108381#true} ~cond := #in~cond; {108381#true} is VALID [2022-02-20 21:53:23,952 INFO L290 TraceCheckUtils]: 71: Hoare triple {108381#true} assume !(0 == ~cond); {108381#true} is VALID [2022-02-20 21:53:23,953 INFO L290 TraceCheckUtils]: 72: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,953 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {108381#true} {108381#true} #853#return; {108381#true} is VALID [2022-02-20 21:53:23,953 INFO L290 TraceCheckUtils]: 74: Hoare triple {108381#true} #res.base, #res.offset := ~p~0.base, ~p~0.offset; {108381#true} is VALID [2022-02-20 21:53:23,953 INFO L290 TraceCheckUtils]: 75: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,953 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #923#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,954 INFO L290 TraceCheckUtils]: 77: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset := usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset;havoc usb_find_interface_#t~ret214#1.base, usb_find_interface_#t~ret214#1.offset; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,954 INFO L290 TraceCheckUtils]: 78: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset := usb_find_interface_#res#1.base, usb_find_interface_#res#1.offset;assume { :end_inline_usb_find_interface } true;idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset := idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset;havoc idmouse_open_#t~ret132#1.base, idmouse_open_#t~ret132#1.offset; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,955 INFO L290 TraceCheckUtils]: 79: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} assume !(0 == (idmouse_open_~interface~0#1.base + idmouse_open_~interface~0#1.offset) % 18446744073709551616); {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,955 INFO L272 TraceCheckUtils]: 80: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call mutex_lock_nested(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset, 0); {108381#true} is VALID [2022-02-20 21:53:23,955 INFO L290 TraceCheckUtils]: 81: Hoare triple {108381#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {108381#true} is VALID [2022-02-20 21:53:23,955 INFO L290 TraceCheckUtils]: 82: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,956 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {108381#true} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #925#return; {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} is VALID [2022-02-20 21:53:23,956 INFO L272 TraceCheckUtils]: 84: Hoare triple {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} call idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset := ldv_usb_get_intfdata_2(idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset); {108381#true} is VALID [2022-02-20 21:53:23,956 INFO L290 TraceCheckUtils]: 85: Hoare triple {108381#true} ~intf#1.base, ~intf#1.offset := #in~intf#1.base, #in~intf#1.offset;havoc ~tmp~19#1.base, ~tmp~19#1.offset;assume { :begin_inline_ldv_usb_get_intfdata } true;havoc ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset := ~usb_intfdata~0.base, ~usb_intfdata~0.offset; {108445#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_ldv_usb_get_intfdata_#res#1.base|) (= |ldv_usb_get_intfdata_2_ldv_usb_get_intfdata_#res#1.offset| ~usb_intfdata~0.offset))} is VALID [2022-02-20 21:53:23,956 INFO L290 TraceCheckUtils]: 86: Hoare triple {108445#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_ldv_usb_get_intfdata_#res#1.base|) (= |ldv_usb_get_intfdata_2_ldv_usb_get_intfdata_#res#1.offset| ~usb_intfdata~0.offset))} #t~ret197#1.base, #t~ret197#1.offset := ldv_usb_get_intfdata_#res#1.base, ldv_usb_get_intfdata_#res#1.offset;assume { :end_inline_ldv_usb_get_intfdata } true;~tmp~19#1.base, ~tmp~19#1.offset := #t~ret197#1.base, #t~ret197#1.offset;havoc #t~ret197#1.base, #t~ret197#1.offset;#res#1.base, #res#1.offset := ~tmp~19#1.base, ~tmp~19#1.offset; {108446#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_#res#1.base|) (= |ldv_usb_get_intfdata_2_#res#1.offset| ~usb_intfdata~0.offset))} is VALID [2022-02-20 21:53:23,957 INFO L290 TraceCheckUtils]: 87: Hoare triple {108446#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_#res#1.base|) (= |ldv_usb_get_intfdata_2_#res#1.offset| ~usb_intfdata~0.offset))} assume true; {108446#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_#res#1.base|) (= |ldv_usb_get_intfdata_2_#res#1.offset| ~usb_intfdata~0.offset))} is VALID [2022-02-20 21:53:23,958 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {108446#(and (= ~usb_intfdata~0.base |ldv_usb_get_intfdata_2_#res#1.base|) (= |ldv_usb_get_intfdata_2_#res#1.offset| ~usb_intfdata~0.offset))} {108383#(and (= ~usb_intfdata~0.base 0) (= ~usb_intfdata~0.offset 0))} #927#return; {108425#(and (= |ULTIMATE.start_idmouse_open_#t~ret133#1.base| 0) (= |ULTIMATE.start_idmouse_open_#t~ret133#1.offset| 0))} is VALID [2022-02-20 21:53:23,958 INFO L290 TraceCheckUtils]: 89: Hoare triple {108425#(and (= |ULTIMATE.start_idmouse_open_#t~ret133#1.base| 0) (= |ULTIMATE.start_idmouse_open_#t~ret133#1.offset| 0))} idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset := idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;havoc idmouse_open_#t~ret133#1.base, idmouse_open_#t~ret133#1.offset;idmouse_open_~dev~0#1.base, idmouse_open_~dev~0#1.offset := idmouse_open_~tmp___0~5#1.base, idmouse_open_~tmp___0~5#1.offset; {108426#(and (= |ULTIMATE.start_idmouse_open_~dev~0#1.base| 0) (= |ULTIMATE.start_idmouse_open_~dev~0#1.offset| 0))} is VALID [2022-02-20 21:53:23,958 INFO L290 TraceCheckUtils]: 90: Hoare triple {108426#(and (= |ULTIMATE.start_idmouse_open_~dev~0#1.base| 0) (= |ULTIMATE.start_idmouse_open_~dev~0#1.offset| 0))} assume !(0 == (idmouse_open_~dev~0#1.base + idmouse_open_~dev~0#1.offset) % 18446744073709551616); {108382#false} is VALID [2022-02-20 21:53:23,959 INFO L272 TraceCheckUtils]: 91: Hoare triple {108382#false} call mutex_lock_nested(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset, 0); {108381#true} is VALID [2022-02-20 21:53:23,959 INFO L290 TraceCheckUtils]: 92: Hoare triple {108381#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset;~arg1 := #in~arg1; {108381#true} is VALID [2022-02-20 21:53:23,959 INFO L290 TraceCheckUtils]: 93: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,959 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {108381#true} {108382#false} #931#return; {108382#false} is VALID [2022-02-20 21:53:23,959 INFO L272 TraceCheckUtils]: 95: Hoare triple {108382#false} call mutex_unlock(~#open_disc_mutex~0.base, ~#open_disc_mutex~0.offset); {108381#true} is VALID [2022-02-20 21:53:23,959 INFO L290 TraceCheckUtils]: 96: Hoare triple {108381#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {108381#true} is VALID [2022-02-20 21:53:23,959 INFO L290 TraceCheckUtils]: 97: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,959 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {108381#true} {108382#false} #933#return; {108382#false} is VALID [2022-02-20 21:53:23,960 INFO L290 TraceCheckUtils]: 99: Hoare triple {108382#false} call idmouse_open_#t~mem134#1 := read~int(idmouse_open_~dev~0#1.base, 41 + idmouse_open_~dev~0#1.offset, 4); {108382#false} is VALID [2022-02-20 21:53:23,960 INFO L290 TraceCheckUtils]: 100: Hoare triple {108382#false} assume !(0 != idmouse_open_#t~mem134#1);havoc idmouse_open_#t~mem134#1;assume { :begin_inline_ldv_usb_autopm_get_interface_3 } true;ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset := idmouse_open_~interface~0#1.base, idmouse_open_~interface~0#1.offset;havoc ldv_usb_autopm_get_interface_3_#res#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset, ldv_usb_autopm_get_interface_3_~tmp~20#1;ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset := ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_#in~ldv_func_arg1#1.offset;havoc ldv_usb_autopm_get_interface_3_~tmp~20#1;assume { :begin_inline_ldv_get_interface } true;ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset := ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.base, ldv_usb_autopm_get_interface_3_~ldv_func_arg1#1.offset;havoc ldv_get_interface_#res#1;havoc ldv_get_interface_#t~ret205#1, ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset, ldv_get_interface_~res~1#1, ldv_get_interface_~tmp~25#1;ldv_get_interface_~intf#1.base, ldv_get_interface_~intf#1.offset := ldv_get_interface_#in~intf#1.base, ldv_get_interface_#in~intf#1.offset;havoc ldv_get_interface_~res~1#1;havoc ldv_get_interface_~tmp~25#1; {108382#false} is VALID [2022-02-20 21:53:23,960 INFO L272 TraceCheckUtils]: 101: Hoare triple {108382#false} call ldv_get_interface_#t~ret205#1 := ldv_undef_int(); {108381#true} is VALID [2022-02-20 21:53:23,960 INFO L290 TraceCheckUtils]: 102: Hoare triple {108381#true} havoc ~tmp~7;assume -2147483648 <= #t~nondet75 && #t~nondet75 <= 2147483647;~tmp~7 := #t~nondet75;havoc #t~nondet75;#res := ~tmp~7; {108381#true} is VALID [2022-02-20 21:53:23,960 INFO L290 TraceCheckUtils]: 103: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,960 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {108381#true} {108382#false} #935#return; {108382#false} is VALID [2022-02-20 21:53:23,960 INFO L290 TraceCheckUtils]: 105: Hoare triple {108382#false} assume -2147483648 <= ldv_get_interface_#t~ret205#1 && ldv_get_interface_#t~ret205#1 <= 2147483647;ldv_get_interface_~tmp~25#1 := ldv_get_interface_#t~ret205#1;havoc ldv_get_interface_#t~ret205#1;ldv_get_interface_~res~1#1 := ldv_get_interface_~tmp~25#1; {108382#false} is VALID [2022-02-20 21:53:23,960 INFO L290 TraceCheckUtils]: 106: Hoare triple {108382#false} assume ldv_get_interface_~res~1#1 <= 0; {108382#false} is VALID [2022-02-20 21:53:23,961 INFO L290 TraceCheckUtils]: 107: Hoare triple {108382#false} assume 0 == ldv_get_interface_~res~1#1;~INTERF_STATE~0 := 1 + ~INTERF_STATE~0; {108382#false} is VALID [2022-02-20 21:53:23,961 INFO L290 TraceCheckUtils]: 108: Hoare triple {108382#false} ldv_get_interface_#res#1 := ldv_get_interface_~res~1#1; {108382#false} is VALID [2022-02-20 21:53:23,961 INFO L290 TraceCheckUtils]: 109: Hoare triple {108382#false} ldv_usb_autopm_get_interface_3_#t~ret198#1 := ldv_get_interface_#res#1;assume { :end_inline_ldv_get_interface } true;assume -2147483648 <= ldv_usb_autopm_get_interface_3_#t~ret198#1 && ldv_usb_autopm_get_interface_3_#t~ret198#1 <= 2147483647;ldv_usb_autopm_get_interface_3_~tmp~20#1 := ldv_usb_autopm_get_interface_3_#t~ret198#1;havoc ldv_usb_autopm_get_interface_3_#t~ret198#1;ldv_usb_autopm_get_interface_3_#res#1 := ldv_usb_autopm_get_interface_3_~tmp~20#1; {108382#false} is VALID [2022-02-20 21:53:23,961 INFO L290 TraceCheckUtils]: 110: Hoare triple {108382#false} idmouse_open_#t~ret135#1 := ldv_usb_autopm_get_interface_3_#res#1;assume { :end_inline_ldv_usb_autopm_get_interface_3 } true;assume -2147483648 <= idmouse_open_#t~ret135#1 && idmouse_open_#t~ret135#1 <= 2147483647;idmouse_open_~result~1#1 := idmouse_open_#t~ret135#1;havoc idmouse_open_#t~ret135#1; {108382#false} is VALID [2022-02-20 21:53:23,961 INFO L290 TraceCheckUtils]: 111: Hoare triple {108382#false} assume 0 != idmouse_open_~result~1#1; {108382#false} is VALID [2022-02-20 21:53:23,961 INFO L272 TraceCheckUtils]: 112: Hoare triple {108382#false} call mutex_unlock(idmouse_open_~dev~0#1.base, 49 + idmouse_open_~dev~0#1.offset); {108381#true} is VALID [2022-02-20 21:53:23,961 INFO L290 TraceCheckUtils]: 113: Hoare triple {108381#true} ~arg0.base, ~arg0.offset := #in~arg0.base, #in~arg0.offset; {108381#true} is VALID [2022-02-20 21:53:23,961 INFO L290 TraceCheckUtils]: 114: Hoare triple {108381#true} assume true; {108381#true} is VALID [2022-02-20 21:53:23,962 INFO L284 TraceCheckUtils]: 115: Hoare quadruple {108381#true} {108382#false} #979#return; {108382#false} is VALID [2022-02-20 21:53:23,962 INFO L290 TraceCheckUtils]: 116: Hoare triple {108382#false} idmouse_open_#res#1 := idmouse_open_~result~1#1; {108382#false} is VALID [2022-02-20 21:53:23,962 INFO L290 TraceCheckUtils]: 117: Hoare triple {108382#false} main_#t~ret195#1 := idmouse_open_#res#1;assume { :end_inline_idmouse_open } true;assume -2147483648 <= main_#t~ret195#1 && main_#t~ret195#1 <= 2147483647;~ldv_retval_5~0 := main_#t~ret195#1;havoc main_#t~ret195#1; {108382#false} is VALID [2022-02-20 21:53:23,962 INFO L290 TraceCheckUtils]: 118: Hoare triple {108382#false} assume !(0 == ~ldv_retval_5~0); {108382#false} is VALID [2022-02-20 21:53:23,962 INFO L290 TraceCheckUtils]: 119: Hoare triple {108382#false} assume -2147483648 <= main_#t~nondet178#1 && main_#t~nondet178#1 <= 2147483647;main_~tmp___5~1#1 := main_#t~nondet178#1;havoc main_#t~nondet178#1;main_#t~switch179#1 := 0 == main_~tmp___5~1#1; {108382#false} is VALID [2022-02-20 21:53:23,962 INFO L290 TraceCheckUtils]: 120: Hoare triple {108382#false} assume !main_#t~switch179#1;main_#t~switch179#1 := main_#t~switch179#1 || 1 == main_~tmp___5~1#1; {108382#false} is VALID [2022-02-20 21:53:23,962 INFO L290 TraceCheckUtils]: 121: Hoare triple {108382#false} assume main_#t~switch179#1; {108382#false} is VALID [2022-02-20 21:53:23,962 INFO L290 TraceCheckUtils]: 122: Hoare triple {108382#false} assume 0 != ~ldv_state_variable_0~0;assume -2147483648 <= main_#t~nondet187#1 && main_#t~nondet187#1 <= 2147483647;main_~tmp___7~1#1 := main_#t~nondet187#1;havoc main_#t~nondet187#1;main_#t~switch188#1 := 0 == main_~tmp___7~1#1; {108382#false} is VALID [2022-02-20 21:53:23,963 INFO L290 TraceCheckUtils]: 123: Hoare triple {108382#false} assume main_#t~switch188#1; {108382#false} is VALID [2022-02-20 21:53:23,963 INFO L290 TraceCheckUtils]: 124: Hoare triple {108382#false} assume 3 == ~ldv_state_variable_0~0 && 0 == ~ref_cnt~0;assume { :begin_inline_idmouse_driver_exit } true;assume { :begin_inline_ldv_usb_deregister_10 } true;ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset := ~#idmouse_driver~0.base, ~#idmouse_driver~0.offset;havoc ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset := ldv_usb_deregister_10_#in~arg#1.base, ldv_usb_deregister_10_#in~arg#1.offset;assume { :begin_inline_usb_deregister } true;usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset := ldv_usb_deregister_10_~arg#1.base, ldv_usb_deregister_10_~arg#1.offset;havoc usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset;usb_deregister_~arg0#1.base, usb_deregister_~arg0#1.offset := usb_deregister_#in~arg0#1.base, usb_deregister_#in~arg0#1.offset; {108382#false} is VALID [2022-02-20 21:53:23,963 INFO L290 TraceCheckUtils]: 125: Hoare triple {108382#false} assume { :end_inline_usb_deregister } true;~ldv_state_variable_1~0 := 0; {108382#false} is VALID [2022-02-20 21:53:23,963 INFO L290 TraceCheckUtils]: 126: Hoare triple {108382#false} assume { :end_inline_ldv_usb_deregister_10 } true; {108382#false} is VALID [2022-02-20 21:53:23,963 INFO L290 TraceCheckUtils]: 127: Hoare triple {108382#false} assume { :end_inline_idmouse_driver_exit } true;~ldv_state_variable_0~0 := 2; {108382#false} is VALID [2022-02-20 21:53:23,963 INFO L290 TraceCheckUtils]: 128: Hoare triple {108382#false} assume { :begin_inline_ldv_check_final_state } true; {108382#false} is VALID [2022-02-20 21:53:23,963 INFO L290 TraceCheckUtils]: 129: Hoare triple {108382#false} assume 0 == (~usb_urb~0.base + ~usb_urb~0.offset) % 18446744073709551616; {108382#false} is VALID [2022-02-20 21:53:23,963 INFO L290 TraceCheckUtils]: 130: Hoare triple {108382#false} assume 0 == (~usb_dev~0.base + ~usb_dev~0.offset) % 18446744073709551616; {108382#false} is VALID [2022-02-20 21:53:23,964 INFO L290 TraceCheckUtils]: 131: Hoare triple {108382#false} assume 0 == ~dev_counter~0; {108382#false} is VALID [2022-02-20 21:53:23,964 INFO L290 TraceCheckUtils]: 132: Hoare triple {108382#false} assume !(0 == ~INTERF_STATE~0); {108382#false} is VALID [2022-02-20 21:53:23,964 INFO L272 TraceCheckUtils]: 133: Hoare triple {108382#false} call ldv_error(); {108382#false} is VALID [2022-02-20 21:53:23,964 INFO L290 TraceCheckUtils]: 134: Hoare triple {108382#false} assume !false; {108382#false} is VALID [2022-02-20 21:53:23,964 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-02-20 21:53:23,965 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:53:23,965 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [994803431] [2022-02-20 21:53:23,965 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [994803431] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:53:23,965 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:53:23,965 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 21:53:23,965 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [492274034] [2022-02-20 21:53:23,965 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:53:23,966 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 9.444444444444445) internal successors, (85), 6 states have internal predecessors, (85), 3 states have call successors, (15), 4 states have call predecessors, (15), 2 states have return successors, (14), 4 states have call predecessors, (14), 3 states have call successors, (14) Word has length 135 [2022-02-20 21:53:23,966 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:53:23,966 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 9.444444444444445) internal successors, (85), 6 states have internal predecessors, (85), 3 states have call successors, (15), 4 states have call predecessors, (15), 2 states have return successors, (14), 4 states have call predecessors, (14), 3 states have call successors, (14) [2022-02-20 21:53:24,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:53:24,048 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 21:53:24,048 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:53:24,048 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 21:53:24,048 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-02-20 21:53:24,049 INFO L87 Difference]: Start difference. First operand 5493 states and 7622 transitions. Second operand has 9 states, 9 states have (on average 9.444444444444445) internal successors, (85), 6 states have internal predecessors, (85), 3 states have call successors, (15), 4 states have call predecessors, (15), 2 states have return successors, (14), 4 states have call predecessors, (14), 3 states have call successors, (14)