./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-linux-4.2-rc1/linux-4.2-rc1.tar.xz-32_7a-drivers--message--fusion--mptctl.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-4.2-rc1/linux-4.2-rc1.tar.xz-32_7a-drivers--message--fusion--mptctl.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 1cfba800a850f13ff72fddf9946e31aec208a19aa4b82d402046e12670b66199 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 22:17:55,670 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 22:17:55,671 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 22:17:55,695 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 22:17:55,696 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 22:17:55,699 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 22:17:55,701 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 22:17:55,706 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 22:17:55,708 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 22:17:55,710 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 22:17:55,711 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 22:17:55,712 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 22:17:55,712 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 22:17:55,717 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 22:17:55,719 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 22:17:55,720 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 22:17:55,721 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 22:17:55,721 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 22:17:55,722 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 22:17:55,727 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 22:17:55,730 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 22:17:55,731 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 22:17:55,731 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 22:17:55,732 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 22:17:55,737 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 22:17:55,740 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 22:17:55,740 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 22:17:55,741 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 22:17:55,742 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 22:17:55,742 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 22:17:55,743 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 22:17:55,744 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 22:17:55,744 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 22:17:55,745 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 22:17:55,746 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 22:17:55,747 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 22:17:55,748 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 22:17:55,748 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 22:17:55,748 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 22:17:55,749 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 22:17:55,749 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 22:17:55,750 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-64bit-Automizer_Default.epf [2022-02-20 22:17:55,780 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 22:17:55,780 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 22:17:55,781 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 22:17:55,781 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 22:17:55,781 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 22:17:55,782 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 22:17:55,782 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 22:17:55,782 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 22:17:55,783 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 22:17:55,783 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 22:17:55,783 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 22:17:55,784 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 22:17:55,784 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 22:17:55,784 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 22:17:55,784 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 22:17:55,784 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 22:17:55,785 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 22:17:55,785 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 22:17:55,785 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 22:17:55,785 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 22:17:55,785 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 22:17:55,786 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 22:17:55,786 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 22:17:55,786 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 22:17:55,786 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 22:17:55,786 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 22:17:55,787 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 22:17:55,787 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 22:17:55,787 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 22:17:55,787 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 22:17:55,787 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 -> 1cfba800a850f13ff72fddf9946e31aec208a19aa4b82d402046e12670b66199 [2022-02-20 22:17:56,006 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 22:17:56,022 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 22:17:56,024 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 22:17:56,025 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 22:17:56,025 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 22:17:56,026 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-linux-4.2-rc1/linux-4.2-rc1.tar.xz-32_7a-drivers--message--fusion--mptctl.ko-entry_point.cil.out.i [2022-02-20 22:17:56,083 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10ab838c5/440cf6c6617d4efd9091182fd89a1286/FLAGe52981422 [2022-02-20 22:17:56,770 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 22:17:56,771 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-linux-4.2-rc1/linux-4.2-rc1.tar.xz-32_7a-drivers--message--fusion--mptctl.ko-entry_point.cil.out.i [2022-02-20 22:17:56,813 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10ab838c5/440cf6c6617d4efd9091182fd89a1286/FLAGe52981422 [2022-02-20 22:17:56,882 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/10ab838c5/440cf6c6617d4efd9091182fd89a1286 [2022-02-20 22:17:56,885 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 22:17:56,887 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 22:17:56,895 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 22:17:56,895 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 22:17:56,897 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 22:17:56,898 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 10:17:56" (1/1) ... [2022-02-20 22:17:56,899 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1be32d80 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:56, skipping insertion in model container [2022-02-20 22:17:56,899 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 10:17:56" (1/1) ... [2022-02-20 22:17:56,905 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 22:17:57,016 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 22:17:58,592 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-4.2-rc1/linux-4.2-rc1.tar.xz-32_7a-drivers--message--fusion--mptctl.ko-entry_point.cil.out.i[277952,277965] [2022-02-20 22:17:58,767 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 22:17:58,796 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 22:17:59,183 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-4.2-rc1/linux-4.2-rc1.tar.xz-32_7a-drivers--message--fusion--mptctl.ko-entry_point.cil.out.i[277952,277965] [2022-02-20 22:17:59,212 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 22:17:59,295 INFO L208 MainTranslator]: Completed translation [2022-02-20 22:17:59,295 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59 WrapperNode [2022-02-20 22:17:59,297 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 22:17:59,298 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 22:17:59,298 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 22:17:59,298 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 22:17:59,304 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,385 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,622 INFO L137 Inliner]: procedures = 258, calls = 2260, calls flagged for inlining = 96, calls inlined = 93, statements flattened = 6022 [2022-02-20 22:17:59,623 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 22:17:59,624 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 22:17:59,624 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 22:17:59,625 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 22:17:59,639 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,640 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,690 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,690 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,819 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,845 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,863 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,886 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 22:17:59,887 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 22:17:59,887 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 22:17:59,887 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 22:17:59,888 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (1/1) ... [2022-02-20 22:17:59,894 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 22:17:59,903 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 22:17:59,913 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 22:17:59,937 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 22:17:59,962 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_stop [2022-02-20 22:17:59,963 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_stop [2022-02-20 22:17:59,963 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-02-20 22:17:59,963 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-02-20 22:17:59,963 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~~u32~0~X~~dma_addr_t~0~TO~VOID [2022-02-20 22:17:59,963 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~~u32~0~X~~dma_addr_t~0~TO~VOID [2022-02-20 22:17:59,963 INFO L130 BoogieDeclarations]: Found specification of procedure wait_for_completion_timeout [2022-02-20 22:17:59,963 INFO L138 BoogieDeclarations]: Found implementation of procedure wait_for_completion_timeout [2022-02-20 22:17:59,964 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_mutex_lock_mpctl_mutex [2022-02-20 22:17:59,964 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_mutex_lock_mpctl_mutex [2022-02-20 22:17:59,964 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2022-02-20 22:17:59,964 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2022-02-20 22:17:59,964 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_GetIocState [2022-02-20 22:17:59,964 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_GetIocState [2022-02-20 22:17:59,964 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_trylock [2022-02-20 22:17:59,965 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_trylock [2022-02-20 22:17:59,965 INFO L130 BoogieDeclarations]: Found specification of procedure __scsi_iterate_devices [2022-02-20 22:17:59,965 INFO L138 BoogieDeclarations]: Found implementation of procedure __scsi_iterate_devices [2022-02-20 22:17:59,965 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2022-02-20 22:17:59,965 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2022-02-20 22:17:59,998 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_error [2022-02-20 22:17:59,999 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_error [2022-02-20 22:17:59,999 INFO L130 BoogieDeclarations]: Found specification of procedure mptctl_syscall_down [2022-02-20 22:17:59,999 INFO L138 BoogieDeclarations]: Found implementation of procedure mptctl_syscall_down [2022-02-20 22:17:59,999 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_device_driver_deregister [2022-02-20 22:17:59,999 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_device_driver_deregister [2022-02-20 22:17:59,999 INFO L130 BoogieDeclarations]: Found specification of procedure valid_dma_direction [2022-02-20 22:17:59,999 INFO L138 BoogieDeclarations]: Found implementation of procedure valid_dma_direction [2022-02-20 22:17:59,999 INFO L130 BoogieDeclarations]: Found specification of procedure mptctl_remove [2022-02-20 22:17:59,999 INFO L138 BoogieDeclarations]: Found implementation of procedure mptctl_remove [2022-02-20 22:17:59,999 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memset [2022-02-20 22:18:00,000 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memset [2022-02-20 22:18:00,000 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 22:18:00,000 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 22:18:00,000 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_put_msg_frame [2022-02-20 22:18:00,000 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_put_msg_frame [2022-02-20 22:18:00,000 INFO L130 BoogieDeclarations]: Found specification of procedure pci_alloc_consistent [2022-02-20 22:18:00,000 INFO L138 BoogieDeclarations]: Found implementation of procedure pci_alloc_consistent [2022-02-20 22:18:00,000 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock [2022-02-20 22:18:00,000 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock [2022-02-20 22:18:00,000 INFO L130 BoogieDeclarations]: Found specification of procedure spinlock_check [2022-02-20 22:18:00,000 INFO L138 BoogieDeclarations]: Found implementation of procedure spinlock_check [2022-02-20 22:18:00,001 INFO L130 BoogieDeclarations]: Found specification of procedure __mptctl_ioctl [2022-02-20 22:18:00,001 INFO L138 BoogieDeclarations]: Found implementation of procedure __mptctl_ioctl [2022-02-20 22:18:00,001 INFO L130 BoogieDeclarations]: Found specification of procedure mptctl_do_mpt_command [2022-02-20 22:18:00,001 INFO L138 BoogieDeclarations]: Found implementation of procedure mptctl_do_mpt_command [2022-02-20 22:18:00,001 INFO L130 BoogieDeclarations]: Found specification of procedure mptctl_do_fw_download [2022-02-20 22:18:00,001 INFO L138 BoogieDeclarations]: Found implementation of procedure mptctl_do_fw_download [2022-02-20 22:18:00,001 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 22:18:00,001 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 22:18:00,001 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_mutex_unlock_mutex_of__MPT_MGMT [2022-02-20 22:18:00,001 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_mutex_unlock_mutex_of__MPT_MGMT [2022-02-20 22:18:00,002 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_put_msg_frame_hi_pri [2022-02-20 22:18:00,002 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_put_msg_frame_hi_pri [2022-02-20 22:18:00,002 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_err [2022-02-20 22:18:00,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_err [2022-02-20 22:18:00,002 INFO L130 BoogieDeclarations]: Found specification of procedure spin_unlock_irqrestore [2022-02-20 22:18:00,002 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_unlock_irqrestore [2022-02-20 22:18:00,002 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_free_fw_memory [2022-02-20 22:18:00,002 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_free_fw_memory [2022-02-20 22:18:00,002 INFO L130 BoogieDeclarations]: Found specification of procedure mptctl_do_taskmgmt [2022-02-20 22:18:00,002 INFO L138 BoogieDeclarations]: Found implementation of procedure mptctl_do_taskmgmt [2022-02-20 22:18:00,002 INFO L130 BoogieDeclarations]: Found specification of procedure pci_unmap_single [2022-02-20 22:18:00,003 INFO L138 BoogieDeclarations]: Found implementation of procedure pci_unmap_single [2022-02-20 22:18:00,003 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 22:18:00,003 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 22:18:00,003 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_clear_taskmgmt_in_progress_flag [2022-02-20 22:18:00,003 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_clear_taskmgmt_in_progress_flag [2022-02-20 22:18:00,003 INFO L130 BoogieDeclarations]: Found specification of procedure mptctl_timeout_expired [2022-02-20 22:18:00,003 INFO L138 BoogieDeclarations]: Found implementation of procedure mptctl_timeout_expired [2022-02-20 22:18:00,003 INFO L130 BoogieDeclarations]: Found specification of procedure __might_fault [2022-02-20 22:18:00,003 INFO L138 BoogieDeclarations]: Found implementation of procedure __might_fault [2022-02-20 22:18:00,003 INFO L130 BoogieDeclarations]: Found specification of procedure kzalloc [2022-02-20 22:18:00,003 INFO L138 BoogieDeclarations]: Found implementation of procedure kzalloc [2022-02-20 22:18:00,004 INFO L130 BoogieDeclarations]: Found specification of procedure _raw_spin_lock_irqsave [2022-02-20 22:18:00,004 INFO L138 BoogieDeclarations]: Found implementation of procedure _raw_spin_lock_irqsave [2022-02-20 22:18:00,005 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_mutex_unlock_mpctl_mutex [2022-02-20 22:18:00,005 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_mutex_unlock_mpctl_mutex [2022-02-20 22:18:00,005 INFO L130 BoogieDeclarations]: Found specification of procedure mptctl_fasync [2022-02-20 22:18:00,005 INFO L138 BoogieDeclarations]: Found implementation of procedure mptctl_fasync [2022-02-20 22:18:00,005 INFO L130 BoogieDeclarations]: Found specification of procedure get_dma_ops [2022-02-20 22:18:00,005 INFO L138 BoogieDeclarations]: Found implementation of procedure get_dma_ops [2022-02-20 22:18:00,006 INFO L130 BoogieDeclarations]: Found specification of procedure misc_deregister [2022-02-20 22:18:00,006 INFO L138 BoogieDeclarations]: Found implementation of procedure misc_deregister [2022-02-20 22:18:00,006 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 22:18:00,006 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_set_taskmgmt_in_progress_flag [2022-02-20 22:18:00,006 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_set_taskmgmt_in_progress_flag [2022-02-20 22:18:00,006 INFO L130 BoogieDeclarations]: Found specification of procedure __phys_addr [2022-02-20 22:18:00,006 INFO L138 BoogieDeclarations]: Found implementation of procedure __phys_addr [2022-02-20 22:18:00,007 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_verify_adapter [2022-02-20 22:18:00,007 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_verify_adapter [2022-02-20 22:18:00,007 INFO L130 BoogieDeclarations]: Found specification of procedure kfree [2022-02-20 22:18:00,007 INFO L138 BoogieDeclarations]: Found implementation of procedure kfree [2022-02-20 22:18:00,007 INFO L130 BoogieDeclarations]: Found specification of procedure pci_free_consistent [2022-02-20 22:18:00,007 INFO L138 BoogieDeclarations]: Found implementation of procedure pci_free_consistent [2022-02-20 22:18:00,008 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 22:18:00,008 INFO L130 BoogieDeclarations]: Found specification of procedure copy_to_user [2022-02-20 22:18:00,008 INFO L138 BoogieDeclarations]: Found implementation of procedure copy_to_user [2022-02-20 22:18:00,008 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_deregister [2022-02-20 22:18:00,008 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_deregister [2022-02-20 22:18:00,008 INFO L130 BoogieDeclarations]: Found specification of procedure kfree_sgl [2022-02-20 22:18:00,009 INFO L138 BoogieDeclarations]: Found implementation of procedure kfree_sgl [2022-02-20 22:18:00,009 INFO L130 BoogieDeclarations]: Found specification of procedure ldv__builtin_expect [2022-02-20 22:18:00,009 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv__builtin_expect [2022-02-20 22:18:00,009 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_init_zalloc [2022-02-20 22:18:00,009 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_init_zalloc [2022-02-20 22:18:00,009 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 22:18:00,010 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_memset [2022-02-20 22:18:00,010 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_memset [2022-02-20 22:18:00,010 INFO L130 BoogieDeclarations]: Found specification of procedure copy_from_user [2022-02-20 22:18:00,010 INFO L138 BoogieDeclarations]: Found implementation of procedure copy_from_user [2022-02-20 22:18:00,010 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 22:18:00,010 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_undef_int [2022-02-20 22:18:00,010 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_undef_int [2022-02-20 22:18:00,011 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 22:18:00,011 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_get_msg_frame [2022-02-20 22:18:00,011 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_get_msg_frame [2022-02-20 22:18:00,011 INFO L130 BoogieDeclarations]: Found specification of procedure PTR_ERR [2022-02-20 22:18:00,011 INFO L138 BoogieDeclarations]: Found implementation of procedure PTR_ERR [2022-02-20 22:18:00,011 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_mutex_lock_mutex_of__MPT_MGMT [2022-02-20 22:18:00,012 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_mutex_lock_mutex_of__MPT_MGMT [2022-02-20 22:18:00,012 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_send_handshake_request [2022-02-20 22:18:00,012 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_send_handshake_request [2022-02-20 22:18:00,012 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_register [2022-02-20 22:18:00,012 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_register [2022-02-20 22:18:00,012 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_mutex_trylock_mutex_of__MPT_MGMT [2022-02-20 22:18:00,013 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_mutex_trylock_mutex_of__MPT_MGMT [2022-02-20 22:18:00,013 INFO L130 BoogieDeclarations]: Found specification of procedure shost_priv [2022-02-20 22:18:00,013 INFO L138 BoogieDeclarations]: Found implementation of procedure shost_priv [2022-02-20 22:18:00,013 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 22:18:00,013 INFO L130 BoogieDeclarations]: Found specification of procedure strncpy [2022-02-20 22:18:00,013 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 22:18:00,014 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 22:18:00,014 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_config [2022-02-20 22:18:00,014 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_config [2022-02-20 22:18:00,014 INFO L130 BoogieDeclarations]: Found specification of procedure mpt_free_msg_frame [2022-02-20 22:18:00,014 INFO L138 BoogieDeclarations]: Found implementation of procedure mpt_free_msg_frame [2022-02-20 22:18:00,015 INFO L130 BoogieDeclarations]: Found specification of procedure IS_ERR [2022-02-20 22:18:00,015 INFO L138 BoogieDeclarations]: Found implementation of procedure IS_ERR [2022-02-20 22:18:00,617 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 22:18:00,620 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 22:18:03,890 INFO L766 $ProcedureCfgBuilder]: dead code at ProgramPoint ldv_stopFINAL: assume true; [2022-02-20 22:18:14,372 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 22:18:14,389 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 22:18:14,390 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-02-20 22:18:14,392 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 10:18:14 BoogieIcfgContainer [2022-02-20 22:18:14,393 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 22:18:14,394 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 22:18:14,394 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 22:18:14,397 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 22:18:14,397 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 10:17:56" (1/3) ... [2022-02-20 22:18:14,398 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4d5eeae5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 10:18:14, skipping insertion in model container [2022-02-20 22:18:14,398 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 10:17:59" (2/3) ... [2022-02-20 22:18:14,398 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4d5eeae5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 10:18:14, skipping insertion in model container [2022-02-20 22:18:14,398 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 10:18:14" (3/3) ... [2022-02-20 22:18:14,400 INFO L111 eAbstractionObserver]: Analyzing ICFG linux-4.2-rc1.tar.xz-32_7a-drivers--message--fusion--mptctl.ko-entry_point.cil.out.i [2022-02-20 22:18:14,403 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 22:18:14,404 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 22:18:14,460 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 22:18:14,466 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 22:18:14,467 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 22:18:14,535 INFO L276 IsEmpty]: Start isEmpty. Operand has 1383 states, 1052 states have (on average 1.435361216730038) internal successors, (1510), 1072 states have internal predecessors, (1510), 267 states have call successors, (267), 63 states have call predecessors, (267), 62 states have return successors, (263), 262 states have call predecessors, (263), 263 states have call successors, (263) [2022-02-20 22:18:14,546 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 120 [2022-02-20 22:18:14,546 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 22:18:14,547 INFO L514 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 22:18:14,548 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [ldv_errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 22:18:14,554 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 22:18:14,554 INFO L85 PathProgramCache]: Analyzing trace with hash -806038929, now seen corresponding path program 1 times [2022-02-20 22:18:14,562 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 22:18:14,563 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [904831093] [2022-02-20 22:18:14,563 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 22:18:14,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 22:18:14,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,072 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 22:18:15,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,135 INFO L290 TraceCheckUtils]: 0: Hoare triple {1482#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1386#true} is VALID [2022-02-20 22:18:15,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,136 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1386#true} {1386#true} #3734#return; {1386#true} is VALID [2022-02-20 22:18:15,137 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-02-20 22:18:15,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {1386#true} ~cond := #in~cond; {1386#true} is VALID [2022-02-20 22:18:15,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume 0 == ~cond;assume false; {1387#false} is VALID [2022-02-20 22:18:15,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {1387#false} assume true; {1387#false} is VALID [2022-02-20 22:18:15,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1387#false} {1386#true} #3736#return; {1387#false} is VALID [2022-02-20 22:18:15,148 INFO L290 TraceCheckUtils]: 0: Hoare triple {1474#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~2.base, ~p~2.offset;havoc ~tmp~2.base, ~tmp~2.offset;call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(~size); {1386#true} is VALID [2022-02-20 22:18:15,150 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #Ultimate.meminit(#t~malloc31.base, #t~malloc31.offset, 1, ~size, ~size); {1482#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 22:18:15,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {1482#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1386#true} is VALID [2022-02-20 22:18:15,150 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,151 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1386#true} {1386#true} #3734#return; {1386#true} is VALID [2022-02-20 22:18:15,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {1386#true} ~tmp~2.base, ~tmp~2.offset := #t~malloc31.base, #t~malloc31.offset;~p~2.base, ~p~2.offset := ~tmp~2.base, ~tmp~2.offset; {1386#true} is VALID [2022-02-20 22:18:15,151 INFO L272 TraceCheckUtils]: 6: Hoare triple {1386#true} call assume_abort_if_not((if 0 != (~p~2.base + ~p~2.offset) % 18446744073709551616 then 1 else 0)); {1386#true} is VALID [2022-02-20 22:18:15,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} ~cond := #in~cond; {1386#true} is VALID [2022-02-20 22:18:15,152 INFO L290 TraceCheckUtils]: 8: Hoare triple {1386#true} assume 0 == ~cond;assume false; {1387#false} is VALID [2022-02-20 22:18:15,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {1387#false} assume true; {1387#false} is VALID [2022-02-20 22:18:15,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1387#false} {1386#true} #3736#return; {1387#false} is VALID [2022-02-20 22:18:15,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {1387#false} #res.base, #res.offset := ~p~2.base, ~p~2.offset; {1387#false} is VALID [2022-02-20 22:18:15,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {1387#false} assume true; {1387#false} is VALID [2022-02-20 22:18:15,153 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1387#false} {1386#true} #3742#return; {1387#false} is VALID [2022-02-20 22:18:15,163 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2022-02-20 22:18:15,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,194 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,196 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,197 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,198 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,198 INFO L290 TraceCheckUtils]: 4: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,198 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,199 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,199 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1386#true} {1387#false} #3744#return; {1387#false} is VALID [2022-02-20 22:18:15,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-02-20 22:18:15,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,231 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,232 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,234 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,234 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,235 INFO L290 TraceCheckUtils]: 4: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,235 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,236 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,236 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1386#true} {1387#false} #3746#return; {1387#false} is VALID [2022-02-20 22:18:15,236 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 41 [2022-02-20 22:18:15,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,251 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,261 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,261 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,264 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,265 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,265 INFO L290 TraceCheckUtils]: 4: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,265 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,266 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,266 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1386#true} {1387#false} #3748#return; {1387#false} is VALID [2022-02-20 22:18:15,267 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 52 [2022-02-20 22:18:15,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,280 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,289 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,290 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,290 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,290 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,294 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,295 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,295 INFO L290 TraceCheckUtils]: 4: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,295 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,296 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,296 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,296 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1386#true} {1387#false} #3750#return; {1387#false} is VALID [2022-02-20 22:18:15,296 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-02-20 22:18:15,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,317 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,318 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,318 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,319 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,319 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,320 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,320 INFO L290 TraceCheckUtils]: 4: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,320 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,320 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,320 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,321 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1386#true} {1387#false} #3752#return; {1387#false} is VALID [2022-02-20 22:18:15,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-02-20 22:18:15,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,340 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,349 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,350 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,353 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,353 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,354 INFO L290 TraceCheckUtils]: 4: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,354 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,354 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,354 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,355 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1386#true} {1387#false} #3754#return; {1387#false} is VALID [2022-02-20 22:18:15,355 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 85 [2022-02-20 22:18:15,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,366 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,376 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,378 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,379 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,379 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,380 INFO L290 TraceCheckUtils]: 4: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,380 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,380 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,381 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1386#true} {1387#false} #3756#return; {1387#false} is VALID [2022-02-20 22:18:15,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 96 [2022-02-20 22:18:15,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,394 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 22:18:15,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 22:18:15,403 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,404 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,404 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,405 INFO L272 TraceCheckUtils]: 1: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,406 INFO L290 TraceCheckUtils]: 3: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,406 INFO L290 TraceCheckUtils]: 4: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,406 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,407 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,407 INFO L290 TraceCheckUtils]: 7: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,407 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1386#true} {1387#false} #3758#return; {1387#false} is VALID [2022-02-20 22:18:15,408 INFO L290 TraceCheckUtils]: 0: Hoare triple {1386#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(85, 2);call #Ultimate.allocInit(9, 3);call #Ultimate.allocInit(33, 4);call #Ultimate.allocInit(33, 5);call #Ultimate.allocInit(22, 6);call #Ultimate.allocInit(12, 7);call #Ultimate.allocInit(65, 8);call #Ultimate.allocInit(51, 9);call #Ultimate.allocInit(97, 10);call #Ultimate.allocInit(48, 11);call #Ultimate.allocInit(50, 12);call #Ultimate.allocInit(39, 13);call #Ultimate.allocInit(43, 14);call #Ultimate.allocInit(82, 15);call #Ultimate.allocInit(30, 16);call #Ultimate.allocInit(30, 17);call #Ultimate.allocInit(140, 18);call #Ultimate.allocInit(30, 19);call #Ultimate.allocInit(19, 20);call #Ultimate.allocInit(23, 21);call #Ultimate.allocInit(30, 22);call #Ultimate.allocInit(38, 23);call #Ultimate.allocInit(17, 24);call #Ultimate.allocInit(36, 25);call #Ultimate.allocInit(17, 26);call #Ultimate.allocInit(37, 27);call #Ultimate.allocInit(17, 28);call #Ultimate.allocInit(26, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(42, 31);call #Ultimate.allocInit(42, 32);call #Ultimate.allocInit(42, 33);call #Ultimate.allocInit(42, 34);call #Ultimate.allocInit(75, 35);call #Ultimate.allocInit(209, 36);call #Ultimate.allocInit(54, 37);call #Ultimate.allocInit(209, 38);call #Ultimate.allocInit(81, 39);call #Ultimate.allocInit(209, 40);call #Ultimate.allocInit(50, 41);call #Ultimate.allocInit(209, 42);call #Ultimate.allocInit(38, 43);call #Ultimate.allocInit(65, 44);call #Ultimate.allocInit(209, 45);call #Ultimate.allocInit(68, 46);call #Ultimate.allocInit(209, 47);call #Ultimate.allocInit(38, 48);call #Ultimate.allocInit(54, 49);call #Ultimate.allocInit(36, 50);call #Ultimate.allocInit(36, 51);call #Ultimate.allocInit(39, 52);call #Ultimate.allocInit(49, 53);call #Ultimate.allocInit(86, 54);call #Ultimate.allocInit(209, 55);call #Ultimate.allocInit(35, 56);call #Ultimate.allocInit(22, 57);call #Ultimate.allocInit(61, 58);call #Ultimate.allocInit(35, 59);call #Ultimate.allocInit(22, 60);call #Ultimate.allocInit(37, 61);call #Ultimate.allocInit(63, 62);call #Ultimate.allocInit(61, 63);call #Ultimate.allocInit(34, 64);call #Ultimate.allocInit(43, 65);call #Ultimate.allocInit(67, 66);call #Ultimate.allocInit(37, 67);call #Ultimate.allocInit(66, 68);call #Ultimate.allocInit(48, 69);call #Ultimate.allocInit(63, 70);call #Ultimate.allocInit(43, 71);call #Ultimate.allocInit(66, 72);call #Ultimate.allocInit(48, 73);call #Ultimate.allocInit(63, 74);call #Ultimate.allocInit(63, 75);call #Ultimate.allocInit(48, 76);call #Ultimate.allocInit(70, 77);call #Ultimate.allocInit(209, 78);call #Ultimate.allocInit(55, 79);call #Ultimate.allocInit(209, 80);call #Ultimate.allocInit(101, 81);call #Ultimate.allocInit(209, 82);call #Ultimate.allocInit(40, 83);call #Ultimate.allocInit(21, 84);call #Ultimate.allocInit(103, 85);call #Ultimate.allocInit(209, 86);call #Ultimate.allocInit(89, 87);call #Ultimate.allocInit(209, 88);call #Ultimate.allocInit(58, 89);call #Ultimate.allocInit(209, 90);call #Ultimate.allocInit(43, 91);call #Ultimate.allocInit(79, 92);call #Ultimate.allocInit(209, 93);call #Ultimate.allocInit(79, 94);call #Ultimate.allocInit(209, 95);call #Ultimate.allocInit(109, 96);call #Ultimate.allocInit(209, 97);call #Ultimate.allocInit(109, 98);call #Ultimate.allocInit(209, 99);call #Ultimate.allocInit(78, 100);call #Ultimate.allocInit(209, 101);call #Ultimate.allocInit(53, 102);call #Ultimate.allocInit(209, 103);call #Ultimate.allocInit(38, 104);call #Ultimate.allocInit(98, 105);call #Ultimate.allocInit(209, 106);call #Ultimate.allocInit(86, 107);call #Ultimate.allocInit(209, 108);call #Ultimate.allocInit(55, 109);call #Ultimate.allocInit(209, 110);call #Ultimate.allocInit(40, 111);call #Ultimate.allocInit(106, 112);call #Ultimate.allocInit(209, 113);call #Ultimate.allocInit(88, 114);call #Ultimate.allocInit(209, 115);call #Ultimate.allocInit(56, 116);call #Ultimate.allocInit(209, 117);call #Ultimate.allocInit(41, 118);call #Ultimate.allocInit(76, 119);call #Ultimate.allocInit(88, 120);call #Ultimate.allocInit(209, 121);call #Ultimate.allocInit(56, 122);call #Ultimate.allocInit(209, 123);call #Ultimate.allocInit(41, 124);call #Ultimate.allocInit(108, 125);call #Ultimate.allocInit(209, 126);call #Ultimate.allocInit(86, 127);call #Ultimate.allocInit(209, 128);call #Ultimate.allocInit(55, 129);call #Ultimate.allocInit(209, 130);call #Ultimate.allocInit(40, 131);call #Ultimate.allocInit(103, 132);call #Ultimate.allocInit(209, 133);call #Ultimate.allocInit(84, 134);call #Ultimate.allocInit(209, 135);call #Ultimate.allocInit(56, 136);call #Ultimate.allocInit(209, 137);call #Ultimate.allocInit(59, 138);call #Ultimate.allocInit(209, 139);call #Ultimate.allocInit(66, 140);call #Ultimate.allocInit(209, 141);call #Ultimate.allocInit(99, 142);call #Ultimate.allocInit(209, 143);call #Ultimate.allocInit(110, 144);call #Ultimate.allocInit(209, 145);call #Ultimate.allocInit(52, 146);call #Ultimate.allocInit(71, 147);call #Ultimate.allocInit(83, 148);call #Ultimate.allocInit(209, 149);call #Ultimate.allocInit(84, 150);call #Ultimate.allocInit(209, 151);call #Ultimate.allocInit(85, 152);call #Ultimate.allocInit(209, 153);call #Ultimate.allocInit(85, 154);call #Ultimate.allocInit(209, 155);call #Ultimate.allocInit(85, 156);call #Ultimate.allocInit(209, 157);call #Ultimate.allocInit(80, 158);call #Ultimate.allocInit(120, 159);call #Ultimate.allocInit(209, 160);call #Ultimate.allocInit(90, 161);call #Ultimate.allocInit(209, 162);call #Ultimate.allocInit(94, 163);call #Ultimate.allocInit(209, 164);call #Ultimate.allocInit(65, 165);call #Ultimate.allocInit(41, 166);call #Ultimate.allocInit(22, 167);call #Ultimate.allocInit(71, 168);call #Ultimate.allocInit(92, 169);call #Ultimate.allocInit(209, 170);call #Ultimate.allocInit(95, 171);call #Ultimate.allocInit(209, 172);call #Ultimate.allocInit(89, 173);call #Ultimate.allocInit(209, 174);call #Ultimate.allocInit(80, 175);call #Ultimate.allocInit(209, 176);call #Ultimate.allocInit(56, 177);call #Ultimate.allocInit(209, 178);call #Ultimate.allocInit(43, 179);call #Ultimate.allocInit(2, 180);call write~init~int(32, 180, 0, 1);call write~init~int(0, 180, 1, 1);call #Ultimate.allocInit(44, 181);call #Ultimate.allocInit(19, 182);call #Ultimate.allocInit(35, 183);call #Ultimate.allocInit(19, 184);call #Ultimate.allocInit(67, 185);call #Ultimate.allocInit(94, 186);call #Ultimate.allocInit(209, 187);call #Ultimate.allocInit(87, 188);call #Ultimate.allocInit(209, 189);call #Ultimate.allocInit(58, 190);call #Ultimate.allocInit(209, 191);call #Ultimate.allocInit(43, 192);call #Ultimate.allocInit(110, 193);call #Ultimate.allocInit(209, 194);call #Ultimate.allocInit(7, 195);call write~init~int(109, 195, 0, 1);call write~init~int(112, 195, 1, 1);call write~init~int(116, 195, 2, 1);call write~init~int(99, 195, 3, 1);call write~init~int(116, 195, 4, 1);call write~init~int(108, 195, 5, 1);call write~init~int(0, 195, 6, 1);call #Ultimate.allocInit(56, 196);call #Ultimate.allocInit(46, 197);call #Ultimate.allocInit(52, 198);call #Ultimate.allocInit(42, 199);call #Ultimate.allocInit(23, 200);call #Ultimate.allocInit(8, 201);call #Ultimate.allocInit(38, 202);call #Ultimate.allocInit(8, 203);call #Ultimate.allocInit(49, 204);call #Ultimate.allocInit(49, 205);call #Ultimate.allocInit(40, 206);call #Ultimate.allocInit(13, 207);call #Ultimate.allocInit(68, 208);call #Ultimate.allocInit(22, 209);call #Ultimate.allocInit(68, 210);call #Ultimate.allocInit(53, 211);~LDV_IN_INTERRUPT~0 := 1;~ldv_state_variable_2~0 := 0;~mptctl_fops_group2~0.base, ~mptctl_fops_group2~0.offset := 0, 0;~ref_cnt~0 := 0;~mptctl_fops_group1~0.base, ~mptctl_fops_group1~0.offset := 0, 0;~ldv_state_variable_1~0 := 0;~mptctl_driver_group0~0.base, ~mptctl_driver_group0~0.offset := 0, 0;~ldv_state_variable_0~0 := 0;~#mpctl_mutex~0.base, ~#mpctl_mutex~0.offset := 212, 0;call #Ultimate.allocInit(148, 212);call write~init~int(1, ~#mpctl_mutex~0.base, ~#mpctl_mutex~0.offset, 4);call write~init~int(0, ~#mpctl_mutex~0.base, 4 + ~#mpctl_mutex~0.offset, 4);call write~init~int(3735899821, ~#mpctl_mutex~0.base, 8 + ~#mpctl_mutex~0.offset, 4);call write~init~int(4294967295, ~#mpctl_mutex~0.base, 12 + ~#mpctl_mutex~0.offset, 4);call write~init~$Pointer$(0, -1, ~#mpctl_mutex~0.base, 16 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mpctl_mutex~0.base, 24 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mpctl_mutex~0.base, 32 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mpctl_mutex~0.base, 40 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(6, 0, ~#mpctl_mutex~0.base, 48 + ~#mpctl_mutex~0.offset, 8);call write~init~int(0, ~#mpctl_mutex~0.base, 56 + ~#mpctl_mutex~0.offset, 4);call write~init~int(0, ~#mpctl_mutex~0.base, 60 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(~#mpctl_mutex~0.base, 72 + ~#mpctl_mutex~0.offset, ~#mpctl_mutex~0.base, 72 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(~#mpctl_mutex~0.base, 72 + ~#mpctl_mutex~0.offset, ~#mpctl_mutex~0.base, 80 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mpctl_mutex~0.base, 88 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(~#mpctl_mutex~0.base, ~#mpctl_mutex~0.offset, ~#mpctl_mutex~0.base, 96 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mpctl_mutex~0.base, 104 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mpctl_mutex~0.base, 112 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mpctl_mutex~0.base, 120 + ~#mpctl_mutex~0.offset, 8);call write~init~$Pointer$(7, 0, ~#mpctl_mutex~0.base, 128 + ~#mpctl_mutex~0.offset, 8);call write~init~int(0, ~#mpctl_mutex~0.base, 136 + ~#mpctl_mutex~0.offset, 4);call write~init~int(0, ~#mpctl_mutex~0.base, 140 + ~#mpctl_mutex~0.offset, 8);~mptctl_id~0 := 16;~mptctl_taskmgmt_id~0 := 16;~#async_queue~0.base, ~#async_queue~0.offset := 213, 0;call #Ultimate.allocInit(8, 213);call write~init~$Pointer$(0, 0, ~#async_queue~0.base, ~#async_queue~0.offset, 8);~#mptctl_fops~0.base, ~#mptctl_fops~0.offset := 214, 0;call #Ultimate.allocInit(224, 214);call write~init~$Pointer$(~#__this_module~0.base, ~#__this_module~0.offset, ~#mptctl_fops~0.base, ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~no_llseek.base, #funAddr~no_llseek.offset, ~#mptctl_fops~0.base, 8 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 16 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 24 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 32 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 40 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 48 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 56 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~mptctl_ioctl.base, #funAddr~mptctl_ioctl.offset, ~#mptctl_fops~0.base, 64 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~compat_mpctl_ioctl.base, #funAddr~compat_mpctl_ioctl.offset, ~#mptctl_fops~0.base, 72 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 80 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 88 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 96 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 104 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 112 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 120 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 128 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(#funAddr~mptctl_fasync.base, #funAddr~mptctl_fasync.offset, ~#mptctl_fops~0.base, 136 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 144 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 152 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 160 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 168 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 176 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 184 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 192 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 200 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 208 + ~#mptctl_fops~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_fops~0.base, 216 + ~#mptctl_fops~0.offset, 8);~#mptctl_miscdev~0.base, ~#mptctl_miscdev~0.offset := 215, 0;call #Ultimate.allocInit(70, 215);call write~init~int(220, ~#mptctl_miscdev~0.base, ~#mptctl_miscdev~0.offset, 4);call write~init~$Pointer$(195, 0, ~#mptctl_miscdev~0.base, 4 + ~#mptctl_miscdev~0.offset, 8);call write~init~$Pointer$(~#mptctl_fops~0.base, ~#mptctl_fops~0.offset, ~#mptctl_miscdev~0.base, 12 + ~#mptctl_miscdev~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_miscdev~0.base, 20 + ~#mptctl_miscdev~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_miscdev~0.base, 28 + ~#mptctl_miscdev~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_miscdev~0.base, 36 + ~#mptctl_miscdev~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_miscdev~0.base, 44 + ~#mptctl_miscdev~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_miscdev~0.base, 52 + ~#mptctl_miscdev~0.offset, 8);call write~init~$Pointer$(0, 0, ~#mptctl_miscdev~0.base, 60 + ~#mptctl_miscdev~0.offset, 8);call write~init~int(0, ~#mptctl_miscdev~0.base, 68 + ~#mptctl_miscdev~0.offset, 2);~#mptctl_driver~0.base, ~#mptctl_driver~0.offset := 216, 0;call #Ultimate.allocInit(16, 216);call write~init~$Pointer$(#funAddr~mptctl_probe.base, #funAddr~mptctl_probe.offset, ~#mptctl_driver~0.base, ~#mptctl_driver~0.offset, 8);call write~init~$Pointer$(#funAddr~mptctl_remove.base, #funAddr~mptctl_remove.offset, ~#mptctl_driver~0.base, 8 + ~#mptctl_driver~0.offset, 8);~ldv_retval_0~0 := 0;~ldv_retval_1~0 := 0;~ldv_retval_2~0 := 0;~ldv_mutex_i_mutex_of_inode~0 := 1;~ldv_mutex_lock~0 := 1;~ldv_mutex_mpctl_mutex~0 := 1;~ldv_mutex_mutex_of__MPT_MGMT~0 := 1;~ldv_mutex_mutex_of_device~0 := 1; {1386#true} is VALID [2022-02-20 22:18:15,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {1386#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret1398#1.base, main_#t~ret1398#1.offset, main_#t~ret1399#1.base, main_#t~ret1399#1.offset, main_#t~ret1400#1.base, main_#t~ret1400#1.offset, main_#t~ret1401#1.base, main_#t~ret1401#1.offset, main_#t~ret1402#1.base, main_#t~ret1402#1.offset, main_#t~ret1403#1.base, main_#t~ret1403#1.offset, main_#t~ret1404#1.base, main_#t~ret1404#1.offset, main_#t~ret1405#1.base, main_#t~ret1405#1.offset, main_#t~ret1406#1.base, main_#t~ret1406#1.offset, main_#t~nondet1407#1, main_#t~switch1408#1, main_#t~nondet1409#1, main_#t~switch1410#1, main_#t~ret1411#1, main_#t~nondet1412#1, main_#t~switch1413#1, main_#t~ret1414#1, main_#t~nondet1415#1, main_#t~switch1416#1, main_#t~mem1417#1, main_#t~mem1418#1, main_#t~ret1419#1, main_#t~mem1420#1, main_#t~mem1421#1, main_#t~ret1422#1, main_#t~mem1423#1, main_#t~mem1424#1, main_#t~ret1425#1, main_#t~mem1426#1, main_#t~mem1427#1, main_#t~ret1428#1, main_#t~mem1429#1, main_#t~mem1430#1, main_#t~ret1431#1, main_#t~ret1432#1, main_#t~ret1433#1, main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset, main_~tmp~39#1.base, main_~tmp~39#1.offset, main_~#ldvarg7~0#1.base, main_~#ldvarg7~0#1.offset, main_~#ldvarg3~0#1.base, main_~#ldvarg3~0#1.offset, main_~#ldvarg5~0#1.base, main_~#ldvarg5~0#1.offset, main_~#ldvarg6~0#1.base, main_~#ldvarg6~0#1.offset, main_~#ldvarg1~0#1.base, main_~#ldvarg1~0#1.offset, main_~#ldvarg8~0#1.base, main_~#ldvarg8~0#1.offset, main_~#ldvarg4~0#1.base, main_~#ldvarg4~0#1.offset, main_~#ldvarg2~0#1.base, main_~#ldvarg2~0#1.offset, main_~tmp___0~24#1, main_~tmp___1~11#1, main_~tmp___2~9#1, main_~tmp___3~7#1;havoc main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset;havoc main_~tmp~39#1.base, main_~tmp~39#1.offset;call main_~#ldvarg7~0#1.base, main_~#ldvarg7~0#1.offset := #Ultimate.allocOnStack(8);call main_~#ldvarg3~0#1.base, main_~#ldvarg3~0#1.offset := #Ultimate.allocOnStack(4);call main_~#ldvarg5~0#1.base, main_~#ldvarg5~0#1.offset := #Ultimate.allocOnStack(4);call main_~#ldvarg6~0#1.base, main_~#ldvarg6~0#1.offset := #Ultimate.allocOnStack(4);call main_~#ldvarg1~0#1.base, main_~#ldvarg1~0#1.offset := #Ultimate.allocOnStack(8);call main_~#ldvarg8~0#1.base, main_~#ldvarg8~0#1.offset := #Ultimate.allocOnStack(4);call main_~#ldvarg4~0#1.base, main_~#ldvarg4~0#1.offset := #Ultimate.allocOnStack(8);call main_~#ldvarg2~0#1.base, main_~#ldvarg2~0#1.offset := #Ultimate.allocOnStack(4);havoc main_~tmp___0~24#1;havoc main_~tmp___1~11#1;havoc main_~tmp___2~9#1;havoc main_~tmp___3~7#1; {1386#true} is VALID [2022-02-20 22:18:15,413 INFO L272 TraceCheckUtils]: 2: Hoare triple {1386#true} call main_#t~ret1398#1.base, main_#t~ret1398#1.offset := ldv_init_zalloc(32); {1474#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 22:18:15,413 INFO L290 TraceCheckUtils]: 3: Hoare triple {1474#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |old(#valid)| |#valid|))} ~size := #in~size;havoc ~p~2.base, ~p~2.offset;havoc ~tmp~2.base, ~tmp~2.offset;call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(~size); {1386#true} is VALID [2022-02-20 22:18:15,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {1386#true} call #Ultimate.meminit(#t~malloc31.base, #t~malloc31.offset, 1, ~size, ~size); {1482#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-02-20 22:18:15,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {1482#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1386#true} is VALID [2022-02-20 22:18:15,415 INFO L290 TraceCheckUtils]: 6: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,415 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1386#true} {1386#true} #3734#return; {1386#true} is VALID [2022-02-20 22:18:15,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {1386#true} ~tmp~2.base, ~tmp~2.offset := #t~malloc31.base, #t~malloc31.offset;~p~2.base, ~p~2.offset := ~tmp~2.base, ~tmp~2.offset; {1386#true} is VALID [2022-02-20 22:18:15,415 INFO L272 TraceCheckUtils]: 9: Hoare triple {1386#true} call assume_abort_if_not((if 0 != (~p~2.base + ~p~2.offset) % 18446744073709551616 then 1 else 0)); {1386#true} is VALID [2022-02-20 22:18:15,416 INFO L290 TraceCheckUtils]: 10: Hoare triple {1386#true} ~cond := #in~cond; {1386#true} is VALID [2022-02-20 22:18:15,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {1386#true} assume 0 == ~cond;assume false; {1387#false} is VALID [2022-02-20 22:18:15,416 INFO L290 TraceCheckUtils]: 12: Hoare triple {1387#false} assume true; {1387#false} is VALID [2022-02-20 22:18:15,416 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {1387#false} {1386#true} #3736#return; {1387#false} is VALID [2022-02-20 22:18:15,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {1387#false} #res.base, #res.offset := ~p~2.base, ~p~2.offset; {1387#false} is VALID [2022-02-20 22:18:15,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {1387#false} assume true; {1387#false} is VALID [2022-02-20 22:18:15,417 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1387#false} {1386#true} #3742#return; {1387#false} is VALID [2022-02-20 22:18:15,417 INFO L290 TraceCheckUtils]: 17: Hoare triple {1387#false} main_~tmp~39#1.base, main_~tmp~39#1.offset := main_#t~ret1398#1.base, main_#t~ret1398#1.offset;havoc main_#t~ret1398#1.base, main_#t~ret1398#1.offset;main_~ldvarg0~0#1.base, main_~ldvarg0~0#1.offset := main_~tmp~39#1.base, main_~tmp~39#1.offset;assume { :begin_inline_ldv_initialize } true; {1387#false} is VALID [2022-02-20 22:18:15,418 INFO L290 TraceCheckUtils]: 18: Hoare triple {1387#false} assume { :end_inline_ldv_initialize } true; {1387#false} is VALID [2022-02-20 22:18:15,418 INFO L272 TraceCheckUtils]: 19: Hoare triple {1387#false} call main_#t~ret1399#1.base, main_#t~ret1399#1.offset := ldv_memset(main_~#ldvarg7~0#1.base, main_~#ldvarg7~0#1.offset, 0, 8); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,418 INFO L290 TraceCheckUtils]: 20: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,419 INFO L272 TraceCheckUtils]: 21: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,419 INFO L290 TraceCheckUtils]: 22: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,420 INFO L290 TraceCheckUtils]: 23: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,420 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,421 INFO L290 TraceCheckUtils]: 27: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,421 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1386#true} {1387#false} #3744#return; {1387#false} is VALID [2022-02-20 22:18:15,421 INFO L290 TraceCheckUtils]: 29: Hoare triple {1387#false} havoc main_#t~ret1399#1.base, main_#t~ret1399#1.offset; {1387#false} is VALID [2022-02-20 22:18:15,421 INFO L272 TraceCheckUtils]: 30: Hoare triple {1387#false} call main_#t~ret1400#1.base, main_#t~ret1400#1.offset := ldv_memset(main_~#ldvarg3~0#1.base, main_~#ldvarg3~0#1.offset, 0, 4); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,423 INFO L272 TraceCheckUtils]: 32: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,423 INFO L290 TraceCheckUtils]: 33: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,423 INFO L290 TraceCheckUtils]: 34: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,423 INFO L290 TraceCheckUtils]: 35: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,423 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,424 INFO L290 TraceCheckUtils]: 37: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,424 INFO L290 TraceCheckUtils]: 38: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,424 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1386#true} {1387#false} #3746#return; {1387#false} is VALID [2022-02-20 22:18:15,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {1387#false} havoc main_#t~ret1400#1.base, main_#t~ret1400#1.offset; {1387#false} is VALID [2022-02-20 22:18:15,425 INFO L272 TraceCheckUtils]: 41: Hoare triple {1387#false} call main_#t~ret1401#1.base, main_#t~ret1401#1.offset := ldv_memset(main_~#ldvarg5~0#1.base, main_~#ldvarg5~0#1.offset, 0, 4); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,425 INFO L290 TraceCheckUtils]: 42: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,426 INFO L272 TraceCheckUtils]: 43: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,426 INFO L290 TraceCheckUtils]: 44: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,426 INFO L290 TraceCheckUtils]: 45: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,427 INFO L290 TraceCheckUtils]: 46: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,427 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,427 INFO L290 TraceCheckUtils]: 48: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,427 INFO L290 TraceCheckUtils]: 49: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,427 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1386#true} {1387#false} #3748#return; {1387#false} is VALID [2022-02-20 22:18:15,428 INFO L290 TraceCheckUtils]: 51: Hoare triple {1387#false} havoc main_#t~ret1401#1.base, main_#t~ret1401#1.offset; {1387#false} is VALID [2022-02-20 22:18:15,428 INFO L272 TraceCheckUtils]: 52: Hoare triple {1387#false} call main_#t~ret1402#1.base, main_#t~ret1402#1.offset := ldv_memset(main_~#ldvarg6~0#1.base, main_~#ldvarg6~0#1.offset, 0, 4); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,428 INFO L290 TraceCheckUtils]: 53: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,429 INFO L272 TraceCheckUtils]: 54: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,430 INFO L290 TraceCheckUtils]: 55: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,430 INFO L290 TraceCheckUtils]: 56: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,430 INFO L290 TraceCheckUtils]: 57: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,430 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,430 INFO L290 TraceCheckUtils]: 59: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,431 INFO L290 TraceCheckUtils]: 60: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,431 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {1386#true} {1387#false} #3750#return; {1387#false} is VALID [2022-02-20 22:18:15,431 INFO L290 TraceCheckUtils]: 62: Hoare triple {1387#false} havoc main_#t~ret1402#1.base, main_#t~ret1402#1.offset; {1387#false} is VALID [2022-02-20 22:18:15,431 INFO L272 TraceCheckUtils]: 63: Hoare triple {1387#false} call main_#t~ret1403#1.base, main_#t~ret1403#1.offset := ldv_memset(main_~#ldvarg1~0#1.base, main_~#ldvarg1~0#1.offset, 0, 8); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,431 INFO L290 TraceCheckUtils]: 64: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,433 INFO L272 TraceCheckUtils]: 65: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,433 INFO L290 TraceCheckUtils]: 66: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,433 INFO L290 TraceCheckUtils]: 67: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,433 INFO L290 TraceCheckUtils]: 68: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,434 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,434 INFO L290 TraceCheckUtils]: 70: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,434 INFO L290 TraceCheckUtils]: 71: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,434 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {1386#true} {1387#false} #3752#return; {1387#false} is VALID [2022-02-20 22:18:15,434 INFO L290 TraceCheckUtils]: 73: Hoare triple {1387#false} havoc main_#t~ret1403#1.base, main_#t~ret1403#1.offset; {1387#false} is VALID [2022-02-20 22:18:15,435 INFO L272 TraceCheckUtils]: 74: Hoare triple {1387#false} call main_#t~ret1404#1.base, main_#t~ret1404#1.offset := ldv_memset(main_~#ldvarg8~0#1.base, main_~#ldvarg8~0#1.offset, 0, 4); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,435 INFO L290 TraceCheckUtils]: 75: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,436 INFO L272 TraceCheckUtils]: 76: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,436 INFO L290 TraceCheckUtils]: 77: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,436 INFO L290 TraceCheckUtils]: 78: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,437 INFO L290 TraceCheckUtils]: 79: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,437 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,437 INFO L290 TraceCheckUtils]: 81: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,437 INFO L290 TraceCheckUtils]: 82: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,437 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {1386#true} {1387#false} #3754#return; {1387#false} is VALID [2022-02-20 22:18:15,438 INFO L290 TraceCheckUtils]: 84: Hoare triple {1387#false} havoc main_#t~ret1404#1.base, main_#t~ret1404#1.offset; {1387#false} is VALID [2022-02-20 22:18:15,438 INFO L272 TraceCheckUtils]: 85: Hoare triple {1387#false} call main_#t~ret1405#1.base, main_#t~ret1405#1.offset := ldv_memset(main_~#ldvarg4~0#1.base, main_~#ldvarg4~0#1.offset, 0, 8); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,438 INFO L290 TraceCheckUtils]: 86: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,439 INFO L272 TraceCheckUtils]: 87: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,439 INFO L290 TraceCheckUtils]: 88: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,440 INFO L290 TraceCheckUtils]: 89: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,440 INFO L290 TraceCheckUtils]: 90: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,440 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,440 INFO L290 TraceCheckUtils]: 92: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,440 INFO L290 TraceCheckUtils]: 93: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,440 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {1386#true} {1387#false} #3756#return; {1387#false} is VALID [2022-02-20 22:18:15,441 INFO L290 TraceCheckUtils]: 95: Hoare triple {1387#false} havoc main_#t~ret1405#1.base, main_#t~ret1405#1.offset; {1387#false} is VALID [2022-02-20 22:18:15,441 INFO L272 TraceCheckUtils]: 96: Hoare triple {1387#false} call main_#t~ret1406#1.base, main_#t~ret1406#1.offset := ldv_memset(main_~#ldvarg2~0#1.base, main_~#ldvarg2~0#1.offset, 0, 4); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,441 INFO L290 TraceCheckUtils]: 97: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~s.base, ~s.offset := #in~s.base, #in~s.offset;~c := #in~c;~n := #in~n;havoc ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,442 INFO L272 TraceCheckUtils]: 98: Hoare triple {1386#true} call #t~memset~res32.base, #t~memset~res32.offset := #Ultimate.C_memset(~s.base, ~s.offset, ~c, ~n); {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-02-20 22:18:15,443 INFO L290 TraceCheckUtils]: 99: Hoare triple {1483#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr1520 := 0; {1386#true} is VALID [2022-02-20 22:18:15,443 INFO L290 TraceCheckUtils]: 100: Hoare triple {1386#true} assume !(#t~loopctr1520 % 18446744073709551616 < #amount % 18446744073709551616); {1386#true} is VALID [2022-02-20 22:18:15,443 INFO L290 TraceCheckUtils]: 101: Hoare triple {1386#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {1386#true} is VALID [2022-02-20 22:18:15,443 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {1386#true} {1386#true} #3854#return; {1386#true} is VALID [2022-02-20 22:18:15,444 INFO L290 TraceCheckUtils]: 103: Hoare triple {1386#true} ~tmp~3.base, ~tmp~3.offset := ~s.base, ~s.offset;havoc #t~memset~res32.base, #t~memset~res32.offset;#res.base, #res.offset := ~tmp~3.base, ~tmp~3.offset; {1386#true} is VALID [2022-02-20 22:18:15,444 INFO L290 TraceCheckUtils]: 104: Hoare triple {1386#true} assume true; {1386#true} is VALID [2022-02-20 22:18:15,444 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {1386#true} {1387#false} #3758#return; {1387#false} is VALID [2022-02-20 22:18:15,444 INFO L290 TraceCheckUtils]: 106: Hoare triple {1387#false} havoc main_#t~ret1406#1.base, main_#t~ret1406#1.offset;~ldv_state_variable_1~0 := 0;~ref_cnt~0 := 0;~ldv_state_variable_0~0 := 1;~ldv_state_variable_2~0 := 0; {1387#false} is VALID [2022-02-20 22:18:15,444 INFO L290 TraceCheckUtils]: 107: Hoare triple {1387#false} assume -2147483648 <= main_#t~nondet1407#1 && main_#t~nondet1407#1 <= 2147483647;main_~tmp___0~24#1 := main_#t~nondet1407#1;havoc main_#t~nondet1407#1;main_#t~switch1408#1 := 0 == main_~tmp___0~24#1; {1387#false} is VALID [2022-02-20 22:18:15,445 INFO L290 TraceCheckUtils]: 108: Hoare triple {1387#false} assume !main_#t~switch1408#1;main_#t~switch1408#1 := main_#t~switch1408#1 || 1 == main_~tmp___0~24#1; {1387#false} is VALID [2022-02-20 22:18:15,445 INFO L290 TraceCheckUtils]: 109: Hoare triple {1387#false} assume !main_#t~switch1408#1;main_#t~switch1408#1 := main_#t~switch1408#1 || 2 == main_~tmp___0~24#1; {1387#false} is VALID [2022-02-20 22:18:15,445 INFO L290 TraceCheckUtils]: 110: Hoare triple {1387#false} assume main_#t~switch1408#1; {1387#false} is VALID [2022-02-20 22:18:15,445 INFO L290 TraceCheckUtils]: 111: Hoare triple {1387#false} assume 0 != ~ldv_state_variable_2~0;assume -2147483648 <= main_#t~nondet1415#1 && main_#t~nondet1415#1 <= 2147483647;main_~tmp___3~7#1 := main_#t~nondet1415#1;havoc main_#t~nondet1415#1;main_#t~switch1416#1 := 0 == main_~tmp___3~7#1; {1387#false} is VALID [2022-02-20 22:18:15,445 INFO L290 TraceCheckUtils]: 112: Hoare triple {1387#false} assume main_#t~switch1416#1; {1387#false} is VALID [2022-02-20 22:18:15,446 INFO L290 TraceCheckUtils]: 113: Hoare triple {1387#false} assume 2 == ~ldv_state_variable_2~0;call main_#t~mem1417#1 := read~int(main_~#ldvarg8~0#1.base, main_~#ldvarg8~0#1.offset, 4);call main_#t~mem1418#1 := read~int(main_~#ldvarg7~0#1.base, main_~#ldvarg7~0#1.offset, 8);assume { :begin_inline_compat_mpctl_ioctl } true;compat_mpctl_ioctl_#in~f#1.base, compat_mpctl_ioctl_#in~f#1.offset, compat_mpctl_ioctl_#in~cmd#1, compat_mpctl_ioctl_#in~arg#1 := ~mptctl_fops_group2~0.base, ~mptctl_fops_group2~0.offset, main_#t~mem1417#1, main_#t~mem1418#1;havoc compat_mpctl_ioctl_#res#1;havoc compat_mpctl_ioctl_#t~switch1370#1, compat_mpctl_ioctl_#t~ret1371#1, compat_mpctl_ioctl_#t~ret1372#1, compat_mpctl_ioctl_#t~ret1373#1, compat_mpctl_ioctl_~f#1.base, compat_mpctl_ioctl_~f#1.offset, compat_mpctl_ioctl_~cmd#1, compat_mpctl_ioctl_~arg#1, compat_mpctl_ioctl_~ret~6#1, compat_mpctl_ioctl_~tmp~36#1, compat_mpctl_ioctl_~tmp___0~23#1;compat_mpctl_ioctl_~f#1.base, compat_mpctl_ioctl_~f#1.offset := compat_mpctl_ioctl_#in~f#1.base, compat_mpctl_ioctl_#in~f#1.offset;compat_mpctl_ioctl_~cmd#1 := compat_mpctl_ioctl_#in~cmd#1;compat_mpctl_ioctl_~arg#1 := compat_mpctl_ioctl_#in~arg#1;havoc compat_mpctl_ioctl_~ret~6#1;havoc compat_mpctl_ioctl_~tmp~36#1;havoc compat_mpctl_ioctl_~tmp___0~23#1;assume { :begin_inline_ldv_mutex_lock_30 } true;ldv_mutex_lock_30_#in~ldv_func_arg1#1.base, ldv_mutex_lock_30_#in~ldv_func_arg1#1.offset := ~#mpctl_mutex~0.base, ~#mpctl_mutex~0.offset;havoc ldv_mutex_lock_30_~ldv_func_arg1#1.base, ldv_mutex_lock_30_~ldv_func_arg1#1.offset;ldv_mutex_lock_30_~ldv_func_arg1#1.base, ldv_mutex_lock_30_~ldv_func_arg1#1.offset := ldv_mutex_lock_30_#in~ldv_func_arg1#1.base, ldv_mutex_lock_30_#in~ldv_func_arg1#1.offset; {1387#false} is VALID [2022-02-20 22:18:15,446 INFO L272 TraceCheckUtils]: 114: Hoare triple {1387#false} call ldv_mutex_lock_mpctl_mutex(ldv_mutex_lock_30_~ldv_func_arg1#1.base, ldv_mutex_lock_30_~ldv_func_arg1#1.offset); {1387#false} is VALID [2022-02-20 22:18:15,446 INFO L290 TraceCheckUtils]: 115: Hoare triple {1387#false} ~lock.base, ~lock.offset := #in~lock.base, #in~lock.offset; {1387#false} is VALID [2022-02-20 22:18:15,446 INFO L290 TraceCheckUtils]: 116: Hoare triple {1387#false} assume 1 != ~ldv_mutex_mpctl_mutex~0; {1387#false} is VALID [2022-02-20 22:18:15,447 INFO L272 TraceCheckUtils]: 117: Hoare triple {1387#false} call ldv_error(); {1387#false} is VALID [2022-02-20 22:18:15,447 INFO L290 TraceCheckUtils]: 118: Hoare triple {1387#false} assume !false; {1387#false} is VALID [2022-02-20 22:18:15,448 INFO L134 CoverageAnalysis]: Checked inductivity of 252 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 252 trivial. 0 not checked. [2022-02-20 22:18:15,448 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 22:18:15,448 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [904831093] [2022-02-20 22:18:15,449 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [904831093] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 22:18:15,449 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 22:18:15,449 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 22:18:15,451 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440448363] [2022-02-20 22:18:15,451 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 22:18:15,456 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.4) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (14), 5 states have call predecessors, (14), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) Word has length 119 [2022-02-20 22:18:15,458 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 22:18:15,461 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 7.4) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (14), 5 states have call predecessors, (14), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) [2022-02-20 22:18:15,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 22:18:15,551 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 22:18:15,551 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 22:18:15,611 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 22:18:15,612 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 22:18:15,619 INFO L87 Difference]: Start difference. First operand has 1383 states, 1052 states have (on average 1.435361216730038) internal successors, (1510), 1072 states have internal predecessors, (1510), 267 states have call successors, (267), 63 states have call predecessors, (267), 62 states have return successors, (263), 262 states have call predecessors, (263), 263 states have call successors, (263) Second operand has 5 states, 5 states have (on average 7.4) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (14), 5 states have call predecessors, (14), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) [2022-02-20 22:18:22,267 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.41s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:18:26,496 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:18:32,003 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:18:34,124 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.12s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:18:38,384 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:18:40,493 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.11s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:18:49,898 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.84s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:18:56,713 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:18:58,465 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 22:19:00,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 22:19:00,907 INFO L93 Difference]: Finished difference Result 2812 states and 4246 transitions. [2022-02-20 22:19:00,907 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 22:19:00,908 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.4) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (14), 5 states have call predecessors, (14), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) Word has length 119 [2022-02-20 22:19:00,909 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 22:19:00,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.4) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (14), 5 states have call predecessors, (14), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) [2022-02-20 22:19:01,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 4246 transitions. [2022-02-20 22:19:01,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.4) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (14), 5 states have call predecessors, (14), 2 states have return successors, (12), 2 states have call predecessors, (12), 2 states have call successors, (12) [2022-02-20 22:19:01,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 4246 transitions. [2022-02-20 22:19:01,207 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 4246 transitions.