./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/forester-heap/dll-simple-white-blue-2.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- 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/forester-heap/dll-simple-white-blue-2.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-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 32bit --witnessprinter.graph.data.programhash 9d8386495cfc7d925686020c12a2509d702f4bf2aed1f5dea2d7da468cac3b6e --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:51:25,552 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:51:25,554 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:51:25,581 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:51:25,585 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:51:25,588 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:51:25,590 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:51:25,594 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:51:25,596 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:51:25,600 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:51:25,601 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:51:25,602 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:51:25,602 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:51:25,604 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:51:25,605 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:51:25,607 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:51:25,608 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:51:25,608 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:51:25,612 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:51:25,614 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:51:25,616 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:51:25,617 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:51:25,618 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:51:25,618 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:51:25,621 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:51:25,621 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:51:25,622 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:51:25,623 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:51:25,623 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:51:25,623 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:51:25,624 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:51:25,625 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:51:25,626 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:51:25,626 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:51:25,627 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:51:25,628 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:51:25,628 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:51:25,628 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:51:25,628 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:51:25,629 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:51:25,629 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:51:25,630 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 16:51:25,658 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:51:25,659 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:51:25,660 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:51:25,660 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:51:25,661 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:51:25,661 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:51:25,661 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:51:25,661 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:51:25,662 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:51:25,662 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:51:25,662 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:51:25,663 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:51:25,663 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:51:25,663 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:51:25,663 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:51:25,663 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:51:25,663 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:51:25,664 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:51:25,664 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:51:25,664 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:51:25,664 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:51:25,664 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:51:25,664 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:51:25,665 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:51:25,665 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:51:25,665 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:51:25,665 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:51:25,666 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:51:25,666 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:51:25,666 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:51:25,666 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:51:25,667 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:51:25,667 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:51:25,667 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 -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 9d8386495cfc7d925686020c12a2509d702f4bf2aed1f5dea2d7da468cac3b6e [2022-02-20 16:51:25,866 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:51:25,889 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:51:25,891 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:51:25,892 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:51:25,892 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:51:25,893 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/forester-heap/dll-simple-white-blue-2.i [2022-02-20 16:51:25,963 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9ba71e60f/6baaca3e89c04b70b84df364769ad712/FLAG610c69ce7 [2022-02-20 16:51:26,376 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:51:26,376 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/forester-heap/dll-simple-white-blue-2.i [2022-02-20 16:51:26,389 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9ba71e60f/6baaca3e89c04b70b84df364769ad712/FLAG610c69ce7 [2022-02-20 16:51:26,402 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9ba71e60f/6baaca3e89c04b70b84df364769ad712 [2022-02-20 16:51:26,404 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:51:26,406 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:51:26,407 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:51:26,407 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:51:26,410 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:51:26,411 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,412 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@517d0414 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26, skipping insertion in model container [2022-02-20 16:51:26,412 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,416 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:51:26,454 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:51:26,678 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/forester-heap/dll-simple-white-blue-2.i[22778,22791] [2022-02-20 16:51:26,682 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:51:26,690 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:51:26,716 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/forester-heap/dll-simple-white-blue-2.i[22778,22791] [2022-02-20 16:51:26,718 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:51:26,733 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:51:26,734 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26 WrapperNode [2022-02-20 16:51:26,734 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:51:26,735 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:51:26,735 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:51:26,735 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:51:26,740 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,747 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,774 INFO L137 Inliner]: procedures = 119, calls = 38, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 118 [2022-02-20 16:51:26,774 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:51:26,775 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:51:26,775 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:51:26,775 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:51:26,780 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,780 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,793 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,794 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,799 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,802 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,802 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,804 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:51:26,805 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:51:26,805 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:51:26,805 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:51:26,806 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (1/1) ... [2022-02-20 16:51:26,812 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:51:26,821 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:51:26,856 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 16:51:26,875 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 16:51:26,886 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:51:26,886 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 16:51:26,886 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:51:26,886 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:51:26,886 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:51:26,886 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:51:26,887 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:51:26,887 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:51:26,887 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:51:26,887 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:51:26,999 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:51:27,000 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:51:27,255 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:51:27,260 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:51:27,260 INFO L299 CfgBuilder]: Removed 8 assume(true) statements. [2022-02-20 16:51:27,261 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:51:27 BoogieIcfgContainer [2022-02-20 16:51:27,261 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:51:27,262 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:51:27,262 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:51:27,265 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:51:27,265 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:51:26" (1/3) ... [2022-02-20 16:51:27,265 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e5c03ef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:51:27, skipping insertion in model container [2022-02-20 16:51:27,266 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:51:26" (2/3) ... [2022-02-20 16:51:27,266 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e5c03ef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:51:27, skipping insertion in model container [2022-02-20 16:51:27,266 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:51:27" (3/3) ... [2022-02-20 16:51:27,267 INFO L111 eAbstractionObserver]: Analyzing ICFG dll-simple-white-blue-2.i [2022-02-20 16:51:27,270 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:51:27,271 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:51:27,300 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:51:27,304 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 16:51:27,304 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:51:27,315 INFO L276 IsEmpty]: Start isEmpty. Operand has 27 states, 25 states have (on average 1.72) internal successors, (43), 26 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,319 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 16:51:27,319 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:27,319 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:27,320 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:27,325 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:27,326 INFO L85 PathProgramCache]: Analyzing trace with hash -893663255, now seen corresponding path program 1 times [2022-02-20 16:51:27,332 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:51:27,333 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1092574070] [2022-02-20 16:51:27,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:27,334 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:51:27,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:27,501 INFO L290 TraceCheckUtils]: 0: Hoare triple {30#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(26, 2); {30#true} is VALID [2022-02-20 16:51:27,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {30#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {30#true} is VALID [2022-02-20 16:51:27,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {30#true} assume !true; {31#false} is VALID [2022-02-20 16:51:27,503 INFO L290 TraceCheckUtils]: 3: Hoare triple {31#false} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {31#false} is VALID [2022-02-20 16:51:27,503 INFO L290 TraceCheckUtils]: 4: Hoare triple {31#false} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {31#false} is VALID [2022-02-20 16:51:27,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {31#false} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {31#false} is VALID [2022-02-20 16:51:27,512 INFO L290 TraceCheckUtils]: 6: Hoare triple {31#false} assume !true; {31#false} is VALID [2022-02-20 16:51:27,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {31#false} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {31#false} is VALID [2022-02-20 16:51:27,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {31#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {31#false} is VALID [2022-02-20 16:51:27,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {31#false} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {31#false} is VALID [2022-02-20 16:51:27,514 INFO L290 TraceCheckUtils]: 10: Hoare triple {31#false} assume !false; {31#false} is VALID [2022-02-20 16:51:27,515 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:27,516 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:51:27,516 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1092574070] [2022-02-20 16:51:27,517 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1092574070] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:27,517 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:27,518 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:51:27,520 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1674138959] [2022-02-20 16:51:27,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:27,525 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 16:51:27,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:27,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:27,555 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:51:27,555 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:51:27,572 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:51:27,572 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:51:27,574 INFO L87 Difference]: Start difference. First operand has 27 states, 25 states have (on average 1.72) internal successors, (43), 26 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:27,629 INFO L93 Difference]: Finished difference Result 49 states and 78 transitions. [2022-02-20 16:51:27,629 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:51:27,629 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 16:51:27,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:27,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2022-02-20 16:51:27,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2022-02-20 16:51:27,645 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 78 transitions. [2022-02-20 16:51:27,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:27,733 INFO L225 Difference]: With dead ends: 49 [2022-02-20 16:51:27,736 INFO L226 Difference]: Without dead ends: 20 [2022-02-20 16:51:27,739 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:51:27,744 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:27,746 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:51:27,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2022-02-20 16:51:27,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2022-02-20 16:51:27,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:27,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand has 20 states, 19 states have (on average 1.368421052631579) internal successors, (26), 19 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,766 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand has 20 states, 19 states have (on average 1.368421052631579) internal successors, (26), 19 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,766 INFO L87 Difference]: Start difference. First operand 20 states. Second operand has 20 states, 19 states have (on average 1.368421052631579) internal successors, (26), 19 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:27,771 INFO L93 Difference]: Finished difference Result 20 states and 26 transitions. [2022-02-20 16:51:27,771 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 26 transitions. [2022-02-20 16:51:27,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:27,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:27,773 INFO L74 IsIncluded]: Start isIncluded. First operand has 20 states, 19 states have (on average 1.368421052631579) internal successors, (26), 19 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 20 states. [2022-02-20 16:51:27,773 INFO L87 Difference]: Start difference. First operand has 20 states, 19 states have (on average 1.368421052631579) internal successors, (26), 19 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 20 states. [2022-02-20 16:51:27,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:27,775 INFO L93 Difference]: Finished difference Result 20 states and 26 transitions. [2022-02-20 16:51:27,775 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 26 transitions. [2022-02-20 16:51:27,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:27,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:27,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:27,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:27,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 1.368421052631579) internal successors, (26), 19 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 26 transitions. [2022-02-20 16:51:27,779 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 26 transitions. Word has length 11 [2022-02-20 16:51:27,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:27,779 INFO L470 AbstractCegarLoop]: Abstraction has 20 states and 26 transitions. [2022-02-20 16:51:27,780 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,780 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 26 transitions. [2022-02-20 16:51:27,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 16:51:27,781 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:27,781 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:27,783 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:51:27,784 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:27,785 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:27,786 INFO L85 PathProgramCache]: Analyzing trace with hash -1702731784, now seen corresponding path program 1 times [2022-02-20 16:51:27,786 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:51:27,786 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [165568873] [2022-02-20 16:51:27,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:27,787 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:51:27,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:27,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {161#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(26, 2); {161#true} is VALID [2022-02-20 16:51:27,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {161#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {163#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:27,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {163#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {163#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:27,937 INFO L290 TraceCheckUtils]: 3: Hoare triple {163#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {163#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:27,938 INFO L290 TraceCheckUtils]: 4: Hoare triple {163#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {163#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:27,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {163#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {164#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 8)) 0)} is VALID [2022-02-20 16:51:27,940 INFO L290 TraceCheckUtils]: 6: Hoare triple {164#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 8)) 0)} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {165#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} is VALID [2022-02-20 16:51:27,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {165#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {165#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} is VALID [2022-02-20 16:51:27,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {165#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {165#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} is VALID [2022-02-20 16:51:27,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {165#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {166#(= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0)} is VALID [2022-02-20 16:51:27,942 INFO L290 TraceCheckUtils]: 10: Hoare triple {166#(= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0)} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {167#(= |ULTIMATE.start_main_#t~mem17#1| 0)} is VALID [2022-02-20 16:51:27,942 INFO L290 TraceCheckUtils]: 11: Hoare triple {167#(= |ULTIMATE.start_main_#t~mem17#1| 0)} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {162#false} is VALID [2022-02-20 16:51:27,943 INFO L290 TraceCheckUtils]: 12: Hoare triple {162#false} assume !false; {162#false} is VALID [2022-02-20 16:51:27,943 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:27,943 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:51:27,943 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [165568873] [2022-02-20 16:51:27,943 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [165568873] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:27,943 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:27,943 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 16:51:27,943 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1002016036] [2022-02-20 16:51:27,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:27,944 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 16:51:27,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:27,945 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:27,956 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:27,956 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:51:27,956 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:51:27,957 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:51:27,957 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:51:27,957 INFO L87 Difference]: Start difference. First operand 20 states and 26 transitions. Second operand has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:28,347 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-02-20 16:51:28,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:51:28,347 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 16:51:28,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:28,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2022-02-20 16:51:28,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2022-02-20 16:51:28,350 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 67 transitions. [2022-02-20 16:51:28,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:28,410 INFO L225 Difference]: With dead ends: 52 [2022-02-20 16:51:28,410 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 16:51:28,411 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2022-02-20 16:51:28,411 INFO L933 BasicCegarLoop]: 14 mSDtfsCounter, 36 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:28,412 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 71 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:51:28,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 16:51:28,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 30. [2022-02-20 16:51:28,415 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:28,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 30 states, 29 states have (on average 1.3448275862068966) internal successors, (39), 29 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,416 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 30 states, 29 states have (on average 1.3448275862068966) internal successors, (39), 29 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,416 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 30 states, 29 states have (on average 1.3448275862068966) internal successors, (39), 29 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:28,418 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-02-20 16:51:28,418 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 65 transitions. [2022-02-20 16:51:28,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:28,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:28,418 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 29 states have (on average 1.3448275862068966) internal successors, (39), 29 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 16:51:28,419 INFO L87 Difference]: Start difference. First operand has 30 states, 29 states have (on average 1.3448275862068966) internal successors, (39), 29 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 16:51:28,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:28,420 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-02-20 16:51:28,420 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 65 transitions. [2022-02-20 16:51:28,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:28,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:28,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:28,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:28,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.3448275862068966) internal successors, (39), 29 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-02-20 16:51:28,422 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 13 [2022-02-20 16:51:28,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:28,422 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-02-20 16:51:28,422 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,422 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-02-20 16:51:28,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 16:51:28,423 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:28,423 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:28,423 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 16:51:28,423 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:28,423 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:28,423 INFO L85 PathProgramCache]: Analyzing trace with hash 1560423741, now seen corresponding path program 1 times [2022-02-20 16:51:28,424 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:51:28,424 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [5554051] [2022-02-20 16:51:28,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:28,424 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:51:28,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:28,522 INFO L290 TraceCheckUtils]: 0: Hoare triple {383#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(26, 2); {383#true} is VALID [2022-02-20 16:51:28,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {383#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {385#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:28,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {385#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {385#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:28,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {385#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {385#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:28,527 INFO L290 TraceCheckUtils]: 4: Hoare triple {385#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {385#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:28,528 INFO L290 TraceCheckUtils]: 5: Hoare triple {385#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {386#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0))} is VALID [2022-02-20 16:51:28,529 INFO L290 TraceCheckUtils]: 6: Hoare triple {386#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {387#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} is VALID [2022-02-20 16:51:28,530 INFO L290 TraceCheckUtils]: 7: Hoare triple {387#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {387#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} is VALID [2022-02-20 16:51:28,530 INFO L290 TraceCheckUtils]: 8: Hoare triple {387#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} assume !!(1 != main_#t~mem14#1);havoc main_#t~mem14#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset; {388#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:28,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {388#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {388#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:28,531 INFO L290 TraceCheckUtils]: 10: Hoare triple {388#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {388#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:28,532 INFO L290 TraceCheckUtils]: 11: Hoare triple {388#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {389#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:51:28,532 INFO L290 TraceCheckUtils]: 12: Hoare triple {389#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {384#false} is VALID [2022-02-20 16:51:28,532 INFO L290 TraceCheckUtils]: 13: Hoare triple {384#false} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {384#false} is VALID [2022-02-20 16:51:28,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {384#false} assume !false; {384#false} is VALID [2022-02-20 16:51:28,533 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:28,533 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:51:28,533 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [5554051] [2022-02-20 16:51:28,534 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [5554051] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:51:28,534 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1527894523] [2022-02-20 16:51:28,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:28,534 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:51:28,534 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:51:28,536 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:51:28,537 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 16:51:28,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:28,612 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 16:51:28,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:28,644 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:28,739 INFO L356 Elim1Store]: treesize reduction 74, result has 18.7 percent of original size [2022-02-20 16:51:28,740 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 21 treesize of output 26 [2022-02-20 16:51:28,801 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 7 [2022-02-20 16:51:28,846 INFO L290 TraceCheckUtils]: 0: Hoare triple {383#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(26, 2); {383#true} is VALID [2022-02-20 16:51:28,846 INFO L290 TraceCheckUtils]: 1: Hoare triple {383#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {383#true} is VALID [2022-02-20 16:51:28,846 INFO L290 TraceCheckUtils]: 2: Hoare triple {383#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {383#true} is VALID [2022-02-20 16:51:28,846 INFO L290 TraceCheckUtils]: 3: Hoare triple {383#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {383#true} is VALID [2022-02-20 16:51:28,846 INFO L290 TraceCheckUtils]: 4: Hoare triple {383#true} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {383#true} is VALID [2022-02-20 16:51:28,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {383#true} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {408#(= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))} is VALID [2022-02-20 16:51:28,848 INFO L290 TraceCheckUtils]: 6: Hoare triple {408#(= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {412#(= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 1)} is VALID [2022-02-20 16:51:28,848 INFO L290 TraceCheckUtils]: 7: Hoare triple {412#(= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 1)} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {416#(= |ULTIMATE.start_main_#t~mem14#1| 1)} is VALID [2022-02-20 16:51:28,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {416#(= |ULTIMATE.start_main_#t~mem14#1| 1)} assume !!(1 != main_#t~mem14#1);havoc main_#t~mem14#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset; {384#false} is VALID [2022-02-20 16:51:28,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {384#false} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {384#false} is VALID [2022-02-20 16:51:28,849 INFO L290 TraceCheckUtils]: 10: Hoare triple {384#false} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {384#false} is VALID [2022-02-20 16:51:28,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {384#false} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {384#false} is VALID [2022-02-20 16:51:28,849 INFO L290 TraceCheckUtils]: 12: Hoare triple {384#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {384#false} is VALID [2022-02-20 16:51:28,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {384#false} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {384#false} is VALID [2022-02-20 16:51:28,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {384#false} assume !false; {384#false} is VALID [2022-02-20 16:51:28,850 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:28,850 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:51:28,850 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1527894523] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:28,850 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 16:51:28,850 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 10 [2022-02-20 16:51:28,850 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2029669714] [2022-02-20 16:51:28,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:28,851 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 15 [2022-02-20 16:51:28,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:28,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:28,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:28,863 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:51:28,863 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:51:28,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:51:28,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=73, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:51:28,864 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:29,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:29,014 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-02-20 16:51:29,014 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:51:29,015 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 15 [2022-02-20 16:51:29,015 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:29,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:29,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 46 transitions. [2022-02-20 16:51:29,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:29,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 46 transitions. [2022-02-20 16:51:29,017 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 46 transitions. [2022-02-20 16:51:29,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:29,054 INFO L225 Difference]: With dead ends: 48 [2022-02-20 16:51:29,054 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 16:51:29,055 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-02-20 16:51:29,056 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 8 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:29,056 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 64 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:51:29,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 16:51:29,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2022-02-20 16:51:29,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:29,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 33 states, 32 states have (on average 1.28125) internal successors, (41), 32 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:29,059 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 33 states, 32 states have (on average 1.28125) internal successors, (41), 32 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:29,059 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 33 states, 32 states have (on average 1.28125) internal successors, (41), 32 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:29,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:29,060 INFO L93 Difference]: Finished difference Result 40 states and 48 transitions. [2022-02-20 16:51:29,060 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 48 transitions. [2022-02-20 16:51:29,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:29,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:29,061 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 32 states have (on average 1.28125) internal successors, (41), 32 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 40 states. [2022-02-20 16:51:29,061 INFO L87 Difference]: Start difference. First operand has 33 states, 32 states have (on average 1.28125) internal successors, (41), 32 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 40 states. [2022-02-20 16:51:29,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:29,062 INFO L93 Difference]: Finished difference Result 40 states and 48 transitions. [2022-02-20 16:51:29,062 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 48 transitions. [2022-02-20 16:51:29,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:29,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:29,063 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:29,063 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:29,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 32 states have (on average 1.28125) internal successors, (41), 32 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:29,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 41 transitions. [2022-02-20 16:51:29,064 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 41 transitions. Word has length 15 [2022-02-20 16:51:29,064 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:29,064 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 41 transitions. [2022-02-20 16:51:29,064 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:29,064 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 41 transitions. [2022-02-20 16:51:29,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 16:51:29,064 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:29,076 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:29,103 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 16:51:29,291 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:51:29,291 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:29,292 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:29,292 INFO L85 PathProgramCache]: Analyzing trace with hash 813148851, now seen corresponding path program 1 times [2022-02-20 16:51:29,292 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:51:29,292 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2092822441] [2022-02-20 16:51:29,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:29,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:51:29,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:29,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {625#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(26, 2); {625#true} is VALID [2022-02-20 16:51:29,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {625#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {627#(and (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0))} is VALID [2022-02-20 16:51:29,561 INFO L290 TraceCheckUtils]: 2: Hoare triple {627#(and (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {627#(and (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0))} is VALID [2022-02-20 16:51:29,563 INFO L290 TraceCheckUtils]: 3: Hoare triple {627#(and (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0))} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_#t~mem4#1.base, 4 + main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;call write~int(0, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4); {628#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:29,564 INFO L290 TraceCheckUtils]: 4: Hoare triple {628#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {628#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:29,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {628#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {628#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:29,565 INFO L290 TraceCheckUtils]: 6: Hoare triple {628#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {628#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:29,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {628#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {629#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 8)) 0)} is VALID [2022-02-20 16:51:29,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {629#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 8)) 0)} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {630#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} is VALID [2022-02-20 16:51:29,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {630#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {630#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} is VALID [2022-02-20 16:51:29,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {630#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {630#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} is VALID [2022-02-20 16:51:29,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {630#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 0)} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {631#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 1))} is VALID [2022-02-20 16:51:29,569 INFO L290 TraceCheckUtils]: 12: Hoare triple {631#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {632#(not (= |ULTIMATE.start_main_#t~mem17#1| 1))} is VALID [2022-02-20 16:51:29,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {632#(not (= |ULTIMATE.start_main_#t~mem17#1| 1))} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {626#false} is VALID [2022-02-20 16:51:29,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {626#false} assume !false; {626#false} is VALID [2022-02-20 16:51:29,571 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:29,571 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:51:29,573 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2092822441] [2022-02-20 16:51:29,574 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2092822441] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:51:29,574 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1063674378] [2022-02-20 16:51:29,574 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:29,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:51:29,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:51:29,594 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:51:29,595 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 16:51:29,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:29,715 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 56 conjunts are in the unsatisfiable core [2022-02-20 16:51:29,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:29,729 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:29,766 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:51:29,772 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:30,009 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:30,010 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 44 [2022-02-20 16:51:30,046 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2022-02-20 16:51:30,091 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 39 [2022-02-20 16:51:30,111 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:30,123 INFO L356 Elim1Store]: treesize reduction 36, result has 23.4 percent of original size [2022-02-20 16:51:30,123 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 37 treesize of output 69 [2022-02-20 16:51:30,163 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 30 [2022-02-20 16:51:30,201 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 16:51:30,202 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 16:51:30,676 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:30,676 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 17 [2022-02-20 16:51:30,715 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:30,716 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 17 [2022-02-20 16:51:30,744 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:30,752 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 16:51:30,752 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 32 treesize of output 41 [2022-02-20 16:51:30,784 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:51:30,785 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:51:30,958 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 15 [2022-02-20 16:51:30,974 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 16:51:31,015 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 16:51:31,023 INFO L290 TraceCheckUtils]: 0: Hoare triple {625#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(26, 2); {625#true} is VALID [2022-02-20 16:51:31,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {625#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {639#(and (<= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:31,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {639#(and (<= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {639#(and (<= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:31,035 WARN L290 TraceCheckUtils]: 3: Hoare triple {639#(and (<= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_#t~mem4#1.base, 4 + main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;call write~int(0, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4); {646#(and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_arrayElimCell_5 Int) (v_arrayElimCell_3 Int)) (and (= (select (store (store |#memory_int| v_arrayElimCell_3 v_DerPreprocessor_1) v_arrayElimCell_5 (select |#memory_int| v_arrayElimCell_3)) v_arrayElimCell_3) v_DerPreprocessor_1) (not (= v_arrayElimCell_3 |ULTIMATE.start_main_~head~0#1.base|)))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is UNKNOWN [2022-02-20 16:51:31,036 WARN L290 TraceCheckUtils]: 4: Hoare triple {646#(and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_arrayElimCell_5 Int) (v_arrayElimCell_3 Int)) (and (= (select (store (store |#memory_int| v_arrayElimCell_3 v_DerPreprocessor_1) v_arrayElimCell_5 (select |#memory_int| v_arrayElimCell_3)) v_arrayElimCell_3) v_DerPreprocessor_1) (not (= v_arrayElimCell_3 |ULTIMATE.start_main_~head~0#1.base|)))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {646#(and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_arrayElimCell_5 Int) (v_arrayElimCell_3 Int)) (and (= (select (store (store |#memory_int| v_arrayElimCell_3 v_DerPreprocessor_1) v_arrayElimCell_5 (select |#memory_int| v_arrayElimCell_3)) v_arrayElimCell_3) v_DerPreprocessor_1) (not (= v_arrayElimCell_3 |ULTIMATE.start_main_~head~0#1.base|)))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is UNKNOWN [2022-02-20 16:51:31,038 WARN L290 TraceCheckUtils]: 5: Hoare triple {646#(and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_arrayElimCell_5 Int) (v_arrayElimCell_3 Int)) (and (= (select (store (store |#memory_int| v_arrayElimCell_3 v_DerPreprocessor_1) v_arrayElimCell_5 (select |#memory_int| v_arrayElimCell_3)) v_arrayElimCell_3) v_DerPreprocessor_1) (not (= v_arrayElimCell_3 |ULTIMATE.start_main_~head~0#1.base|)))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {646#(and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_arrayElimCell_5 Int) (v_arrayElimCell_3 Int)) (and (= (select (store (store |#memory_int| v_arrayElimCell_3 v_DerPreprocessor_1) v_arrayElimCell_5 (select |#memory_int| v_arrayElimCell_3)) v_arrayElimCell_3) v_DerPreprocessor_1) (not (= v_arrayElimCell_3 |ULTIMATE.start_main_~head~0#1.base|)))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is UNKNOWN [2022-02-20 16:51:31,039 WARN L290 TraceCheckUtils]: 6: Hoare triple {646#(and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_arrayElimCell_5 Int) (v_arrayElimCell_3 Int)) (and (= (select (store (store |#memory_int| v_arrayElimCell_3 v_DerPreprocessor_1) v_arrayElimCell_5 (select |#memory_int| v_arrayElimCell_3)) v_arrayElimCell_3) v_DerPreprocessor_1) (not (= v_arrayElimCell_3 |ULTIMATE.start_main_~head~0#1.base|)))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {646#(and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_arrayElimCell_5 Int) (v_arrayElimCell_3 Int)) (and (= (select (store (store |#memory_int| v_arrayElimCell_3 v_DerPreprocessor_1) v_arrayElimCell_5 (select |#memory_int| v_arrayElimCell_3)) v_arrayElimCell_3) v_DerPreprocessor_1) (not (= v_arrayElimCell_3 |ULTIMATE.start_main_~head~0#1.base|)))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is UNKNOWN [2022-02-20 16:51:31,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {646#(and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_arrayElimCell_5 Int) (v_arrayElimCell_3 Int)) (and (= (select (store (store |#memory_int| v_arrayElimCell_3 v_DerPreprocessor_1) v_arrayElimCell_5 (select |#memory_int| v_arrayElimCell_3)) v_arrayElimCell_3) v_DerPreprocessor_1) (not (= v_arrayElimCell_3 |ULTIMATE.start_main_~head~0#1.base|)))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {659#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= 0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 8)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:31,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {659#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= 0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 8)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {663#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:31,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {663#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {663#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:31,045 INFO L290 TraceCheckUtils]: 10: Hoare triple {663#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {663#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:31,046 INFO L290 TraceCheckUtils]: 11: Hoare triple {663#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {673#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0))} is VALID [2022-02-20 16:51:31,046 INFO L290 TraceCheckUtils]: 12: Hoare triple {673#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {677#(= |ULTIMATE.start_main_#t~mem17#1| 0)} is VALID [2022-02-20 16:51:31,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {677#(= |ULTIMATE.start_main_#t~mem17#1| 0)} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {626#false} is VALID [2022-02-20 16:51:31,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {626#false} assume !false; {626#false} is VALID [2022-02-20 16:51:31,047 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:31,047 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:51:31,128 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 31 [2022-02-20 16:51:31,144 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 21 [2022-02-20 16:51:31,158 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select |c_#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0)) (not (= (select (select (store |c_#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |c_ULTIMATE.start_main_~head~0#1.base|) (+ |c_ULTIMATE.start_main_~head~0#1.offset| 8)) 1)))) is different from false [2022-02-20 16:51:31,326 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:51:31,326 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 42 treesize of output 43 [2022-02-20 16:51:31,346 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 79 [2022-02-20 16:51:31,356 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 61 [2022-02-20 16:51:32,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {626#false} assume !false; {626#false} is VALID [2022-02-20 16:51:32,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {632#(not (= |ULTIMATE.start_main_#t~mem17#1| 1))} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {626#false} is VALID [2022-02-20 16:51:32,240 INFO L290 TraceCheckUtils]: 12: Hoare triple {631#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {632#(not (= |ULTIMATE.start_main_#t~mem17#1| 1))} is VALID [2022-02-20 16:51:32,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {693#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {631#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 1))} is VALID [2022-02-20 16:51:32,241 INFO L290 TraceCheckUtils]: 10: Hoare triple {693#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {693#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} is VALID [2022-02-20 16:51:32,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {693#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {693#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} is VALID [2022-02-20 16:51:32,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {703#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 8)) 1))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {693#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} is VALID [2022-02-20 16:51:32,246 WARN L290 TraceCheckUtils]: 7: Hoare triple {707#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select (select (store |#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0))))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {703#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 8)) 1))} is UNKNOWN [2022-02-20 16:51:32,247 INFO L290 TraceCheckUtils]: 6: Hoare triple {707#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select (select (store |#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0))))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {707#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select (select (store |#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0))))} is VALID [2022-02-20 16:51:32,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {707#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select (select (store |#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0))))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {707#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select (select (store |#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0))))} is VALID [2022-02-20 16:51:32,248 INFO L290 TraceCheckUtils]: 4: Hoare triple {707#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select (select (store |#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {707#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select (select (store |#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0))))} is VALID [2022-02-20 16:51:32,264 WARN L290 TraceCheckUtils]: 3: Hoare triple {720#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_arrayElimCell_17 Int) (v_ArrVal_319 Int)) (or (not (= (select (store |#valid| v_arrayElimCell_17 v_ArrVal_319) |v_ULTIMATE.start_main_~head~0#1.base_10|) 0)) (not (= (select |#valid| v_arrayElimCell_17) 0)) (and (or (forall ((v_ArrVal_325 (Array Int Int)) (v_ArrVal_321 (Array Int Int)) (v_ArrVal_314 Int)) (not (= (select (select (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_314)) v_arrayElimCell_17 v_ArrVal_321) |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1))) (= |ULTIMATE.start_main_~x~0#1.base| v_arrayElimCell_17)) (or (not (= |ULTIMATE.start_main_~x~0#1.base| v_arrayElimCell_17)) (forall ((v_ArrVal_325 (Array Int Int)) (v_ArrVal_317 (Array Int Int)) (v_arrayElimCell_18 Int) (v_ArrVal_321 (Array Int Int)) (v_ArrVal_314 Int)) (not (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_314)) v_arrayElimCell_17 v_ArrVal_317) v_arrayElimCell_18 v_ArrVal_321) |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)))))))} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_#t~mem4#1.base, 4 + main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;call write~int(0, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4); {707#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_ArrVal_325 (Array Int Int))) (or (not (= (select (select (store |#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_10|) 0))))} is UNKNOWN [2022-02-20 16:51:32,269 WARN L290 TraceCheckUtils]: 2: Hoare triple {720#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_arrayElimCell_17 Int) (v_ArrVal_319 Int)) (or (not (= (select (store |#valid| v_arrayElimCell_17 v_ArrVal_319) |v_ULTIMATE.start_main_~head~0#1.base_10|) 0)) (not (= (select |#valid| v_arrayElimCell_17) 0)) (and (or (forall ((v_ArrVal_325 (Array Int Int)) (v_ArrVal_321 (Array Int Int)) (v_ArrVal_314 Int)) (not (= (select (select (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_314)) v_arrayElimCell_17 v_ArrVal_321) |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1))) (= |ULTIMATE.start_main_~x~0#1.base| v_arrayElimCell_17)) (or (not (= |ULTIMATE.start_main_~x~0#1.base| v_arrayElimCell_17)) (forall ((v_ArrVal_325 (Array Int Int)) (v_ArrVal_317 (Array Int Int)) (v_arrayElimCell_18 Int) (v_ArrVal_321 (Array Int Int)) (v_ArrVal_314 Int)) (not (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_314)) v_arrayElimCell_17 v_ArrVal_317) v_arrayElimCell_18 v_ArrVal_321) |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)))))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {720#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_arrayElimCell_17 Int) (v_ArrVal_319 Int)) (or (not (= (select (store |#valid| v_arrayElimCell_17 v_ArrVal_319) |v_ULTIMATE.start_main_~head~0#1.base_10|) 0)) (not (= (select |#valid| v_arrayElimCell_17) 0)) (and (or (forall ((v_ArrVal_325 (Array Int Int)) (v_ArrVal_321 (Array Int Int)) (v_ArrVal_314 Int)) (not (= (select (select (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_314)) v_arrayElimCell_17 v_ArrVal_321) |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1))) (= |ULTIMATE.start_main_~x~0#1.base| v_arrayElimCell_17)) (or (not (= |ULTIMATE.start_main_~x~0#1.base| v_arrayElimCell_17)) (forall ((v_ArrVal_325 (Array Int Int)) (v_ArrVal_317 (Array Int Int)) (v_arrayElimCell_18 Int) (v_ArrVal_321 (Array Int Int)) (v_ArrVal_314 Int)) (not (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_314)) v_arrayElimCell_17 v_ArrVal_317) v_arrayElimCell_18 v_ArrVal_321) |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)))))))} is UNKNOWN [2022-02-20 16:51:32,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {625#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {720#(forall ((|v_ULTIMATE.start_main_~head~0#1.base_10| Int) (v_arrayElimCell_17 Int) (v_ArrVal_319 Int)) (or (not (= (select (store |#valid| v_arrayElimCell_17 v_ArrVal_319) |v_ULTIMATE.start_main_~head~0#1.base_10|) 0)) (not (= (select |#valid| v_arrayElimCell_17) 0)) (and (or (forall ((v_ArrVal_325 (Array Int Int)) (v_ArrVal_321 (Array Int Int)) (v_ArrVal_314 Int)) (not (= (select (select (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_314)) v_arrayElimCell_17 v_ArrVal_321) |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1))) (= |ULTIMATE.start_main_~x~0#1.base| v_arrayElimCell_17)) (or (not (= |ULTIMATE.start_main_~x~0#1.base| v_arrayElimCell_17)) (forall ((v_ArrVal_325 (Array Int Int)) (v_ArrVal_317 (Array Int Int)) (v_arrayElimCell_18 Int) (v_ArrVal_321 (Array Int Int)) (v_ArrVal_314 Int)) (not (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_314)) v_arrayElimCell_17 v_ArrVal_317) v_arrayElimCell_18 v_ArrVal_321) |v_ULTIMATE.start_main_~head~0#1.base_10| v_ArrVal_325) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 1)))))))} is VALID [2022-02-20 16:51:32,271 INFO L290 TraceCheckUtils]: 0: Hoare triple {625#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(26, 2); {625#true} is VALID [2022-02-20 16:51:32,271 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 2 not checked. [2022-02-20 16:51:32,272 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1063674378] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:51:32,272 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:51:32,272 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 18 [2022-02-20 16:51:32,272 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [886470879] [2022-02-20 16:51:32,272 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:51:32,272 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 18 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 15 [2022-02-20 16:51:32,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:32,273 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 18 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:32,358 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 32 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:32,358 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-20 16:51:32,358 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:51:32,358 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-20 16:51:32,359 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=225, Unknown=4, NotChecked=30, Total=306 [2022-02-20 16:51:32,359 INFO L87 Difference]: Start difference. First operand 33 states and 41 transitions. Second operand has 18 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 18 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:33,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:33,095 INFO L93 Difference]: Finished difference Result 63 states and 79 transitions. [2022-02-20 16:51:33,095 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:51:33,095 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 18 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 15 [2022-02-20 16:51:33,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:33,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 18 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:33,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2022-02-20 16:51:33,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 18 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:33,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2022-02-20 16:51:33,098 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 71 transitions. [2022-02-20 16:51:33,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 67 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:33,164 INFO L225 Difference]: With dead ends: 63 [2022-02-20 16:51:33,164 INFO L226 Difference]: Without dead ends: 61 [2022-02-20 16:51:33,165 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 77 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=90, Invalid=370, Unknown=6, NotChecked=40, Total=506 [2022-02-20 16:51:33,165 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 49 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 160 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 271 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 160 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 90 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:33,166 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 173 Invalid, 271 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 160 Invalid, 0 Unknown, 90 Unchecked, 0.2s Time] [2022-02-20 16:51:33,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-02-20 16:51:33,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 35. [2022-02-20 16:51:33,168 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:33,169 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 35 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 34 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:33,169 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 35 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 34 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:33,169 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 35 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 34 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:33,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:33,170 INFO L93 Difference]: Finished difference Result 61 states and 77 transitions. [2022-02-20 16:51:33,170 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 77 transitions. [2022-02-20 16:51:33,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:33,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:33,171 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 34 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 61 states. [2022-02-20 16:51:33,171 INFO L87 Difference]: Start difference. First operand has 35 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 34 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 61 states. [2022-02-20 16:51:33,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:33,173 INFO L93 Difference]: Finished difference Result 61 states and 77 transitions. [2022-02-20 16:51:33,174 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 77 transitions. [2022-02-20 16:51:33,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:33,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:33,174 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:33,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:33,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 34 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:33,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-02-20 16:51:33,176 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 15 [2022-02-20 16:51:33,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:33,176 INFO L470 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-02-20 16:51:33,176 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 18 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:33,176 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-02-20 16:51:33,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 16:51:33,177 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:33,177 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:33,201 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 16:51:33,395 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-02-20 16:51:33,395 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:33,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:33,396 INFO L85 PathProgramCache]: Analyzing trace with hash 1794219288, now seen corresponding path program 1 times [2022-02-20 16:51:33,396 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:51:33,396 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [569839213] [2022-02-20 16:51:33,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:33,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:51:33,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:33,501 INFO L290 TraceCheckUtils]: 0: Hoare triple {987#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(26, 2); {987#true} is VALID [2022-02-20 16:51:33,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {987#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {989#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:33,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {989#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {989#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:33,504 INFO L290 TraceCheckUtils]: 3: Hoare triple {989#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {989#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:33,504 INFO L290 TraceCheckUtils]: 4: Hoare triple {989#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {989#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:33,507 INFO L290 TraceCheckUtils]: 5: Hoare triple {989#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {990#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0))} is VALID [2022-02-20 16:51:33,508 INFO L290 TraceCheckUtils]: 6: Hoare triple {990#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {991#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} is VALID [2022-02-20 16:51:33,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {991#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {991#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} is VALID [2022-02-20 16:51:33,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {991#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {991#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} is VALID [2022-02-20 16:51:33,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {991#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:33,510 INFO L290 TraceCheckUtils]: 10: Hoare triple {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:33,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !(1 == main_#t~mem17#1);havoc main_#t~mem17#1; {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:33,512 INFO L290 TraceCheckUtils]: 12: Hoare triple {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {993#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:51:33,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {993#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {988#false} is VALID [2022-02-20 16:51:33,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {988#false} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {988#false} is VALID [2022-02-20 16:51:33,513 INFO L290 TraceCheckUtils]: 15: Hoare triple {988#false} assume !false; {988#false} is VALID [2022-02-20 16:51:33,513 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:33,514 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:51:33,514 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [569839213] [2022-02-20 16:51:33,514 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [569839213] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:51:33,514 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [621741407] [2022-02-20 16:51:33,514 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:33,514 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:51:33,514 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:51:33,515 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:51:33,519 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 16:51:33,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:33,632 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 49 conjunts are in the unsatisfiable core [2022-02-20 16:51:33,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:33,644 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:33,666 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:51:33,671 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,672 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,673 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,675 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 26 [2022-02-20 16:51:33,679 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,680 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,681 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,681 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 26 [2022-02-20 16:51:33,778 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,782 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 19 [2022-02-20 16:51:33,786 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,787 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 19 [2022-02-20 16:51:33,790 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:33,791 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 18 [2022-02-20 16:51:33,803 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:51:33,803 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:51:33,807 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2022-02-20 16:51:34,245 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 16:51:34,246 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 5 case distinctions, treesize of input 68 treesize of output 42 [2022-02-20 16:51:34,304 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 16:51:34,305 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 1 case distinctions, treesize of input 33 treesize of output 19 [2022-02-20 16:51:34,334 INFO L290 TraceCheckUtils]: 0: Hoare triple {987#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(26, 2); {987#true} is VALID [2022-02-20 16:51:34,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {987#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1000#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:34,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {1000#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1000#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:34,346 INFO L290 TraceCheckUtils]: 3: Hoare triple {1000#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1000#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:34,347 INFO L290 TraceCheckUtils]: 4: Hoare triple {1000#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1000#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:34,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {1000#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {1013#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 0) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:34,349 INFO L290 TraceCheckUtils]: 6: Hoare triple {1013#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 0) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 0) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1017#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} is VALID [2022-02-20 16:51:34,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {1017#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1017#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} is VALID [2022-02-20 16:51:34,350 INFO L290 TraceCheckUtils]: 8: Hoare triple {1017#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {1017#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} is VALID [2022-02-20 16:51:34,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {1017#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {1027#(exists ((|v_ULTIMATE.start_main_~x~0#1.base_33| Int)) (and (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |v_ULTIMATE.start_main_~x~0#1.base_33|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0)))} is VALID [2022-02-20 16:51:34,365 INFO L290 TraceCheckUtils]: 10: Hoare triple {1027#(exists ((|v_ULTIMATE.start_main_~x~0#1.base_33| Int)) (and (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |v_ULTIMATE.start_main_~x~0#1.base_33|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1031#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_33| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0))) (not (= |ULTIMATE.start_main_~x~0#1.base| 0)))} is VALID [2022-02-20 16:51:34,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {1031#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_33| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0))) (not (= |ULTIMATE.start_main_~x~0#1.base| 0)))} assume !(1 == main_#t~mem17#1);havoc main_#t~mem17#1; {1031#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_33| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0))) (not (= |ULTIMATE.start_main_~x~0#1.base| 0)))} is VALID [2022-02-20 16:51:34,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {1031#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_33| Int)) (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0) |ULTIMATE.start_main_~x~0#1.base|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~x~0#1.base_33|) 0)) 0) 0) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~x~0#1.base_33|) 4) 0))) (not (= |ULTIMATE.start_main_~x~0#1.base| 0)))} call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {993#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:51:34,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {993#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {988#false} is VALID [2022-02-20 16:51:34,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {988#false} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {988#false} is VALID [2022-02-20 16:51:34,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {988#false} assume !false; {988#false} is VALID [2022-02-20 16:51:34,369 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:34,369 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:51:34,535 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:51:34,536 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 65 treesize of output 71 [2022-02-20 16:51:34,547 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:51:34,548 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 41 [2022-02-20 16:51:34,568 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,606 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,648 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,653 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,750 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,789 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,841 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,845 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,931 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:34,971 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:35,012 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:35,017 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:35,115 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:35,156 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:35,195 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:35,198 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:35,358 INFO L290 TraceCheckUtils]: 15: Hoare triple {988#false} assume !false; {988#false} is VALID [2022-02-20 16:51:35,358 INFO L290 TraceCheckUtils]: 14: Hoare triple {988#false} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {988#false} is VALID [2022-02-20 16:51:35,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {993#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {988#false} is VALID [2022-02-20 16:51:35,359 INFO L290 TraceCheckUtils]: 12: Hoare triple {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {993#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:51:35,360 INFO L290 TraceCheckUtils]: 11: Hoare triple {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !(1 == main_#t~mem17#1);havoc main_#t~mem17#1; {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:35,361 INFO L290 TraceCheckUtils]: 10: Hoare triple {1062#(or (and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0)) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {992#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:35,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {1066#(or (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {1062#(or (and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0)) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:51:35,362 INFO L290 TraceCheckUtils]: 8: Hoare triple {1066#(or (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {1066#(or (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)))} is VALID [2022-02-20 16:51:35,363 INFO L290 TraceCheckUtils]: 7: Hoare triple {1066#(or (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1066#(or (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)))} is VALID [2022-02-20 16:51:35,363 INFO L290 TraceCheckUtils]: 6: Hoare triple {1076#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1066#(or (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)))} is VALID [2022-02-20 16:51:35,368 WARN L290 TraceCheckUtils]: 5: Hoare triple {1080#(or (and (= |ULTIMATE.start_main_~head~0#1.base| 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0)) (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (not (= (select v_arrayElimArr_8 0) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |ULTIMATE.start_main_~head~0#1.offset| (select v_arrayElimArr_9 0))) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)) (and (= (select (select (store |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {1076#(or (and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0)) (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))} is UNKNOWN [2022-02-20 16:51:35,369 INFO L290 TraceCheckUtils]: 4: Hoare triple {1080#(or (and (= |ULTIMATE.start_main_~head~0#1.base| 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0)) (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (not (= (select v_arrayElimArr_8 0) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |ULTIMATE.start_main_~head~0#1.offset| (select v_arrayElimArr_9 0))) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)) (and (= (select (select (store |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1080#(or (and (= |ULTIMATE.start_main_~head~0#1.base| 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0)) (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (not (= (select v_arrayElimArr_8 0) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |ULTIMATE.start_main_~head~0#1.offset| (select v_arrayElimArr_9 0))) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)) (and (= (select (select (store |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))))} is VALID [2022-02-20 16:51:35,370 INFO L290 TraceCheckUtils]: 3: Hoare triple {1080#(or (and (= |ULTIMATE.start_main_~head~0#1.base| 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0)) (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (not (= (select v_arrayElimArr_8 0) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |ULTIMATE.start_main_~head~0#1.offset| (select v_arrayElimArr_9 0))) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)) (and (= (select (select (store |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1080#(or (and (= |ULTIMATE.start_main_~head~0#1.base| 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0)) (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (not (= (select v_arrayElimArr_8 0) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |ULTIMATE.start_main_~head~0#1.offset| (select v_arrayElimArr_9 0))) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)) (and (= (select (select (store |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))))} is VALID [2022-02-20 16:51:35,371 INFO L290 TraceCheckUtils]: 2: Hoare triple {1080#(or (and (= |ULTIMATE.start_main_~head~0#1.base| 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0)) (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (not (= (select v_arrayElimArr_8 0) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |ULTIMATE.start_main_~head~0#1.offset| (select v_arrayElimArr_9 0))) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)) (and (= (select (select (store |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1080#(or (and (= |ULTIMATE.start_main_~head~0#1.base| 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0)) (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (not (= (select v_arrayElimArr_8 0) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |ULTIMATE.start_main_~head~0#1.offset| (select v_arrayElimArr_9 0))) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)) (and (= (select (select (store |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))))} is VALID [2022-02-20 16:51:35,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {987#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1080#(or (and (= |ULTIMATE.start_main_~head~0#1.base| 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0)) (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (not (= (select v_arrayElimArr_8 0) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |ULTIMATE.start_main_~head~0#1.offset| (select v_arrayElimArr_9 0))) (not (= (select |#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)) (and (= (select (select (store |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)))))} is VALID [2022-02-20 16:51:35,374 INFO L290 TraceCheckUtils]: 0: Hoare triple {987#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(26, 2); {987#true} is VALID [2022-02-20 16:51:35,375 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:35,375 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [621741407] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 16:51:35,375 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:51:35,375 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [7, 8] total 16 [2022-02-20 16:51:35,375 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [886246238] [2022-02-20 16:51:35,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:35,376 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 16:51:35,376 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:35,376 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 15 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:35,395 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 16:51:35,395 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:51:35,396 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 16:51:35,396 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-02-20 16:51:35,396 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 8 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,413 WARN L838 $PredicateComparison]: unable to prove that (and (let ((.cse1 (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) (.cse0 (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|))) (or (and (= .cse0 0) (= .cse1 0)) (and (= (select (select |c_#memory_$Pointer$.offset| .cse1) .cse0) 0) (= (select (select |c_#memory_$Pointer$.base| .cse1) .cse0) 0)))) (or (forall ((v_arrayElimArr_8 (Array Int Int)) (|v_ULTIMATE.start_main_~head~0#1.base_13| Int) (v_arrayElimArr_9 (Array Int Int))) (or (not (= (select v_arrayElimArr_8 4) 0)) (and (= (select (select (store |c_#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_9) |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select (store |c_#memory_$Pointer$.base| |v_ULTIMATE.start_main_~head~0#1.base_13| v_arrayElimArr_8) |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|) 0)) (not (= (select v_arrayElimArr_9 4) 0)) (not (= |c_ULTIMATE.start_main_~head~0#1.base| (select v_arrayElimArr_8 0))) (not (= (select v_arrayElimArr_9 0) |c_ULTIMATE.start_main_~head~0#1.offset|)) (not (= (select |c_#valid| |v_ULTIMATE.start_main_~head~0#1.base_13|) 0)))) (and (= |c_ULTIMATE.start_main_~head~0#1.base| 0) (= |c_ULTIMATE.start_main_~head~0#1.offset| 0))) (= (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|) 0)) is different from false [2022-02-20 16:51:35,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:35,600 INFO L93 Difference]: Finished difference Result 50 states and 60 transitions. [2022-02-20 16:51:35,600 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:51:35,600 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 16:51:35,600 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:35,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2022-02-20 16:51:35,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 45 transitions. [2022-02-20 16:51:35,601 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 45 transitions. [2022-02-20 16:51:35,641 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:35,642 INFO L225 Difference]: With dead ends: 50 [2022-02-20 16:51:35,642 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 16:51:35,642 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=74, Invalid=309, Unknown=1, NotChecked=36, Total=420 [2022-02-20 16:51:35,643 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 8 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 18 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:35,643 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 76 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 46 Invalid, 0 Unknown, 18 Unchecked, 0.0s Time] [2022-02-20 16:51:35,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 16:51:35,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-02-20 16:51:35,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:35,645 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,645 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,646 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:35,646 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-02-20 16:51:35,646 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-02-20 16:51:35,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:35,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:35,647 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 37 states. [2022-02-20 16:51:35,647 INFO L87 Difference]: Start difference. First operand has 37 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 37 states. [2022-02-20 16:51:35,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:35,648 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-02-20 16:51:35,648 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-02-20 16:51:35,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:35,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:35,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:35,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:35,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-02-20 16:51:35,650 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 16 [2022-02-20 16:51:35,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:35,650 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-02-20 16:51:35,650 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.0) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,650 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-02-20 16:51:35,651 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 16:51:35,651 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:35,651 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:35,670 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 16:51:35,862 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:51:35,863 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:35,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:35,863 INFO L85 PathProgramCache]: Analyzing trace with hash -732499728, now seen corresponding path program 1 times [2022-02-20 16:51:35,863 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:51:35,863 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1921172684] [2022-02-20 16:51:35,863 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:35,863 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:51:35,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:35,927 INFO L290 TraceCheckUtils]: 0: Hoare triple {1291#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(26, 2); {1291#true} is VALID [2022-02-20 16:51:35,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {1291#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1291#true} is VALID [2022-02-20 16:51:35,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {1291#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1291#true} is VALID [2022-02-20 16:51:35,928 INFO L290 TraceCheckUtils]: 3: Hoare triple {1291#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1291#true} is VALID [2022-02-20 16:51:35,928 INFO L290 TraceCheckUtils]: 4: Hoare triple {1291#true} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1291#true} is VALID [2022-02-20 16:51:35,928 INFO L290 TraceCheckUtils]: 5: Hoare triple {1291#true} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1291#true} is VALID [2022-02-20 16:51:35,929 INFO L290 TraceCheckUtils]: 6: Hoare triple {1291#true} call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1293#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.base|))} is VALID [2022-02-20 16:51:35,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {1293#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.base|))} assume !(main_#t~mem8#1.base != 0 || main_#t~mem8#1.offset != 0);havoc main_#t~mem8#1.base, main_#t~mem8#1.offset; {1294#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:35,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~y~0#1.base, main_~y~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~y~0#1.base, main_~y~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4); {1295#(and (= |ULTIMATE.start_main_~y~0#1.offset| 0) (= |ULTIMATE.start_main_~y~0#1.base| 0))} is VALID [2022-02-20 16:51:35,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {1295#(and (= |ULTIMATE.start_main_~y~0#1.offset| 0) (= |ULTIMATE.start_main_~y~0#1.base| 0))} assume main_~y~0#1.base != 0 || main_~y~0#1.offset != 0;call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~y~0#1.base, 4 + main_~y~0#1.offset, 4);call write~$Pointer$(main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_~y~0#1.base, 4 + main_~y~0#1.offset, 4); {1292#false} is VALID [2022-02-20 16:51:35,931 INFO L290 TraceCheckUtils]: 10: Hoare triple {1292#false} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1292#false} is VALID [2022-02-20 16:51:35,931 INFO L290 TraceCheckUtils]: 11: Hoare triple {1292#false} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1292#false} is VALID [2022-02-20 16:51:35,931 INFO L290 TraceCheckUtils]: 12: Hoare triple {1292#false} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {1292#false} is VALID [2022-02-20 16:51:35,931 INFO L290 TraceCheckUtils]: 13: Hoare triple {1292#false} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {1292#false} is VALID [2022-02-20 16:51:35,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {1292#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1292#false} is VALID [2022-02-20 16:51:35,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {1292#false} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {1292#false} is VALID [2022-02-20 16:51:35,932 INFO L290 TraceCheckUtils]: 16: Hoare triple {1292#false} assume !false; {1292#false} is VALID [2022-02-20 16:51:35,932 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:35,932 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:51:35,932 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1921172684] [2022-02-20 16:51:35,932 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1921172684] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:35,933 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:35,933 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:51:35,934 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1522372577] [2022-02-20 16:51:35,935 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:35,935 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 16:51:35,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:35,936 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:35,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:35,945 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:51:35,945 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:51:35,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:51:35,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:51:35,946 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:36,132 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-02-20 16:51:36,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:51:36,132 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 16:51:36,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:36,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-02-20 16:51:36,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-02-20 16:51:36,133 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2022-02-20 16:51:36,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:36,164 INFO L225 Difference]: With dead ends: 58 [2022-02-20 16:51:36,164 INFO L226 Difference]: Without dead ends: 49 [2022-02-20 16:51:36,164 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:51:36,165 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 16 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:36,165 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 65 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:51:36,165 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-20 16:51:36,167 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 39. [2022-02-20 16:51:36,168 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:36,168 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 39 states, 38 states have (on average 1.263157894736842) internal successors, (48), 38 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,168 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 39 states, 38 states have (on average 1.263157894736842) internal successors, (48), 38 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,168 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 39 states, 38 states have (on average 1.263157894736842) internal successors, (48), 38 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:36,169 INFO L93 Difference]: Finished difference Result 49 states and 59 transitions. [2022-02-20 16:51:36,169 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 59 transitions. [2022-02-20 16:51:36,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:36,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:36,169 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 38 states have (on average 1.263157894736842) internal successors, (48), 38 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2022-02-20 16:51:36,169 INFO L87 Difference]: Start difference. First operand has 39 states, 38 states have (on average 1.263157894736842) internal successors, (48), 38 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2022-02-20 16:51:36,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:36,173 INFO L93 Difference]: Finished difference Result 49 states and 59 transitions. [2022-02-20 16:51:36,173 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 59 transitions. [2022-02-20 16:51:36,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:36,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:36,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:36,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:36,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 38 states have (on average 1.263157894736842) internal successors, (48), 38 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 48 transitions. [2022-02-20 16:51:36,177 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 48 transitions. Word has length 17 [2022-02-20 16:51:36,177 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:36,177 INFO L470 AbstractCegarLoop]: Abstraction has 39 states and 48 transitions. [2022-02-20 16:51:36,177 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,177 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 48 transitions. [2022-02-20 16:51:36,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 16:51:36,178 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:36,178 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:36,178 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 16:51:36,178 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:36,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:36,179 INFO L85 PathProgramCache]: Analyzing trace with hash -1541846354, now seen corresponding path program 1 times [2022-02-20 16:51:36,179 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:51:36,179 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [304724767] [2022-02-20 16:51:36,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:36,179 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:51:36,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:36,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {1521#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(26, 2); {1521#true} is VALID [2022-02-20 16:51:36,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {1521#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1521#true} is VALID [2022-02-20 16:51:36,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {1521#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1521#true} is VALID [2022-02-20 16:51:36,270 INFO L290 TraceCheckUtils]: 3: Hoare triple {1521#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1521#true} is VALID [2022-02-20 16:51:36,270 INFO L290 TraceCheckUtils]: 4: Hoare triple {1521#true} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1521#true} is VALID [2022-02-20 16:51:36,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {1521#true} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1523#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))} is VALID [2022-02-20 16:51:36,271 INFO L290 TraceCheckUtils]: 6: Hoare triple {1523#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))} call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1524#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.offset|) (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.base|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))} is VALID [2022-02-20 16:51:36,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {1524#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.offset|) (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.base|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))} assume !(main_#t~mem8#1.base != 0 || main_#t~mem8#1.offset != 0);havoc main_#t~mem8#1.base, main_#t~mem8#1.offset; {1525#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:36,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {1525#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~y~0#1.base, main_~y~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call main_#t~malloc12#1.base, main_#t~malloc12#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc12#1.base, main_#t~malloc12#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~y~0#1.base, main_~y~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4); {1526#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:36,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {1526#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume !(main_~y~0#1.base != 0 || main_~y~0#1.offset != 0); {1526#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:36,274 INFO L290 TraceCheckUtils]: 10: Hoare triple {1526#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1527#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:36,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {1527#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1527#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:36,275 INFO L290 TraceCheckUtils]: 12: Hoare triple {1527#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {1527#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:51:36,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {1527#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {1528#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:51:36,276 INFO L290 TraceCheckUtils]: 14: Hoare triple {1528#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1522#false} is VALID [2022-02-20 16:51:36,276 INFO L290 TraceCheckUtils]: 15: Hoare triple {1522#false} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {1522#false} is VALID [2022-02-20 16:51:36,276 INFO L290 TraceCheckUtils]: 16: Hoare triple {1522#false} assume !false; {1522#false} is VALID [2022-02-20 16:51:36,276 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:36,276 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:51:36,276 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [304724767] [2022-02-20 16:51:36,277 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [304724767] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:36,277 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:36,277 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 16:51:36,277 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1496937909] [2022-02-20 16:51:36,277 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:36,277 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 8 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 16:51:36,278 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:36,278 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.125) internal successors, (17), 8 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:36,291 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 16:51:36,291 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:51:36,292 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 16:51:36,292 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:51:36,292 INFO L87 Difference]: Start difference. First operand 39 states and 48 transitions. Second operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 8 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:36,634 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-02-20 16:51:36,634 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:51:36,635 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 8 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 16:51:36,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:36,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 8 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-02-20 16:51:36,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 8 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-02-20 16:51:36,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-02-20 16:51:36,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:36,698 INFO L225 Difference]: With dead ends: 84 [2022-02-20 16:51:36,698 INFO L226 Difference]: Without dead ends: 66 [2022-02-20 16:51:36,698 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:51:36,699 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 40 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:36,699 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 87 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:51:36,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-02-20 16:51:36,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 48. [2022-02-20 16:51:36,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:36,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 48 states, 47 states have (on average 1.2340425531914894) internal successors, (58), 47 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,702 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 48 states, 47 states have (on average 1.2340425531914894) internal successors, (58), 47 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,702 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 48 states, 47 states have (on average 1.2340425531914894) internal successors, (58), 47 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:36,704 INFO L93 Difference]: Finished difference Result 66 states and 81 transitions. [2022-02-20 16:51:36,704 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 81 transitions. [2022-02-20 16:51:36,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:36,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:36,704 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 47 states have (on average 1.2340425531914894) internal successors, (58), 47 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 66 states. [2022-02-20 16:51:36,704 INFO L87 Difference]: Start difference. First operand has 48 states, 47 states have (on average 1.2340425531914894) internal successors, (58), 47 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 66 states. [2022-02-20 16:51:36,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:36,706 INFO L93 Difference]: Finished difference Result 66 states and 81 transitions. [2022-02-20 16:51:36,706 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 81 transitions. [2022-02-20 16:51:36,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:36,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:36,706 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:36,706 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:36,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 47 states have (on average 1.2340425531914894) internal successors, (58), 47 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 58 transitions. [2022-02-20 16:51:36,708 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 58 transitions. Word has length 17 [2022-02-20 16:51:36,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:36,708 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 58 transitions. [2022-02-20 16:51:36,708 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 8 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:51:36,708 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2022-02-20 16:51:36,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 16:51:36,708 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:36,709 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:36,709 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 16:51:36,709 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:36,709 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:36,709 INFO L85 PathProgramCache]: Analyzing trace with hash 507851438, now seen corresponding path program 2 times [2022-02-20 16:51:36,709 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:51:36,710 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [446680609] [2022-02-20 16:51:36,710 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:36,710 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:51:36,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:37,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {1835#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(26, 2); {1835#true} is VALID [2022-02-20 16:51:37,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {1835#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1837#(and (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0))} is VALID [2022-02-20 16:51:37,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {1837#(and (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1837#(and (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0))} is VALID [2022-02-20 16:51:37,023 INFO L290 TraceCheckUtils]: 3: Hoare triple {1837#(and (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0))} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_#t~mem4#1.base, 4 + main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;call write~int(0, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4); {1838#(and (= (select |#valid| |ULTIMATE.start_main_~x~0#1.base|) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:37,024 INFO L290 TraceCheckUtils]: 4: Hoare triple {1838#(and (= (select |#valid| |ULTIMATE.start_main_~x~0#1.base|) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1838#(and (= (select |#valid| |ULTIMATE.start_main_~x~0#1.base|) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:37,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {1838#(and (= (select |#valid| |ULTIMATE.start_main_~x~0#1.base|) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_#t~mem4#1.base, 4 + main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;call write~int(0, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4); {1839#(and (not (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} is VALID [2022-02-20 16:51:37,026 INFO L290 TraceCheckUtils]: 6: Hoare triple {1839#(and (not (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1839#(and (not (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} is VALID [2022-02-20 16:51:37,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {1839#(and (not (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1839#(and (not (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} is VALID [2022-02-20 16:51:37,027 INFO L290 TraceCheckUtils]: 8: Hoare triple {1839#(and (not (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1839#(and (not (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} is VALID [2022-02-20 16:51:37,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {1839#(and (not (= 1 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {1840#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 8)) 1))} is VALID [2022-02-20 16:51:37,028 INFO L290 TraceCheckUtils]: 10: Hoare triple {1840#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 8)) 1))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1841#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} is VALID [2022-02-20 16:51:37,029 INFO L290 TraceCheckUtils]: 11: Hoare triple {1841#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1841#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} is VALID [2022-02-20 16:51:37,029 INFO L290 TraceCheckUtils]: 12: Hoare triple {1841#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {1841#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} is VALID [2022-02-20 16:51:37,030 INFO L290 TraceCheckUtils]: 13: Hoare triple {1841#(not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 8)) 1))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {1842#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 1))} is VALID [2022-02-20 16:51:37,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {1842#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1843#(not (= |ULTIMATE.start_main_#t~mem17#1| 1))} is VALID [2022-02-20 16:51:37,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {1843#(not (= |ULTIMATE.start_main_#t~mem17#1| 1))} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {1836#false} is VALID [2022-02-20 16:51:37,031 INFO L290 TraceCheckUtils]: 16: Hoare triple {1836#false} assume !false; {1836#false} is VALID [2022-02-20 16:51:37,031 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:37,031 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:51:37,031 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [446680609] [2022-02-20 16:51:37,031 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [446680609] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:51:37,031 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [213346599] [2022-02-20 16:51:37,031 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:51:37,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:51:37,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:51:37,033 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:51:37,034 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 16:51:37,163 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:51:37,163 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:51:37,166 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 74 conjunts are in the unsatisfiable core [2022-02-20 16:51:37,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:37,180 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:37,194 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 16:51:37,202 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 16:51:37,310 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:37,311 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 29 [2022-02-20 16:51:37,321 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 18 [2022-02-20 16:51:37,335 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 39 [2022-02-20 16:51:37,341 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:37,342 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:37,342 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:51:37,343 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2022-02-20 16:51:37,350 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2022-02-20 16:51:37,367 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 16:51:37,368 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 16:51:37,679 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:37,680 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:37,695 INFO L356 Elim1Store]: treesize reduction 137, result has 7.4 percent of original size [2022-02-20 16:51:37,695 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 3 case distinctions, treesize of input 37 treesize of output 38 [2022-02-20 16:51:37,756 INFO L356 Elim1Store]: treesize reduction 36, result has 34.5 percent of original size [2022-02-20 16:51:37,756 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 22 treesize of output 33 [2022-02-20 16:51:38,150 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:38,151 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 17 [2022-02-20 16:51:38,181 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:38,182 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 17 [2022-02-20 16:51:38,214 INFO L356 Elim1Store]: treesize reduction 8, result has 61.9 percent of original size [2022-02-20 16:51:38,214 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 20 treesize of output 22 [2022-02-20 16:51:38,237 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2022-02-20 16:51:38,367 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 15 [2022-02-20 16:51:38,387 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 10 [2022-02-20 16:51:38,427 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 16:51:38,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {1835#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(26, 2); {1835#true} is VALID [2022-02-20 16:51:38,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {1835#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet2#1, main_#t~nondet6#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~nondet9#1, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~malloc12#1.base, main_#t~malloc12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~y~0#1.base, main_~y~0#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem14#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(12);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1850#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:38,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {1850#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1850#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:38,444 INFO L290 TraceCheckUtils]: 3: Hoare triple {1850#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_#t~mem4#1.base, 4 + main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;call write~int(0, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4); {1857#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~x~0#1.base|) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:38,444 INFO L290 TraceCheckUtils]: 4: Hoare triple {1857#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~x~0#1.base|) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1857#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~x~0#1.base|) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:38,446 INFO L290 TraceCheckUtils]: 5: Hoare triple {1857#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~x~0#1.base|) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_#t~mem4#1.base, 4 + main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;call write~int(0, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4); {1864#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_41| Int)) (and (not (= |v_ULTIMATE.start_main_~x~0#1.base_41| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~x~0#1.base_41|) 1))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:38,447 INFO L290 TraceCheckUtils]: 6: Hoare triple {1864#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_41| Int)) (and (not (= |v_ULTIMATE.start_main_~x~0#1.base_41| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~x~0#1.base_41|) 1))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1864#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_41| Int)) (and (not (= |v_ULTIMATE.start_main_~x~0#1.base_41| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~x~0#1.base_41|) 1))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:38,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {1864#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_41| Int)) (and (not (= |v_ULTIMATE.start_main_~x~0#1.base_41| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~x~0#1.base_41|) 1))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1864#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_41| Int)) (and (not (= |v_ULTIMATE.start_main_~x~0#1.base_41| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~x~0#1.base_41|) 1))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:38,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {1864#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_41| Int)) (and (not (= |v_ULTIMATE.start_main_~x~0#1.base_41| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~x~0#1.base_41|) 1))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1864#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_41| Int)) (and (not (= |v_ULTIMATE.start_main_~x~0#1.base_41| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~x~0#1.base_41|) 1))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} is VALID [2022-02-20 16:51:38,449 INFO L290 TraceCheckUtils]: 9: Hoare triple {1864#(and (exists ((|v_ULTIMATE.start_main_~x~0#1.base_41| Int)) (and (not (= |v_ULTIMATE.start_main_~x~0#1.base_41| |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~x~0#1.base_41|) 1))) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))))} assume 0 != main_#t~nondet6#1;havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(12);main_~x~0#1.base, main_~x~0#1.offset := main_#t~malloc7#1.base, main_#t~malloc7#1.offset;havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call write~int(1, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~head~0#1.base, main_~head~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset; {1877#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= 0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 8)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:51:38,450 INFO L290 TraceCheckUtils]: 10: Hoare triple {1877#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= 0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 8)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1881#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} is VALID [2022-02-20 16:51:38,451 INFO L290 TraceCheckUtils]: 11: Hoare triple {1881#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1881#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} is VALID [2022-02-20 16:51:38,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {1881#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} assume !(1 != main_#t~mem14#1);havoc main_#t~mem14#1; {1881#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} is VALID [2022-02-20 16:51:38,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {1881#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 8) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} call main_#t~mem16#1.base, main_#t~mem16#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem16#1.base, main_#t~mem16#1.offset;havoc main_#t~mem16#1.base, main_#t~mem16#1.offset; {1891#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0))} is VALID [2022-02-20 16:51:38,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {1891#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem17#1 := read~int(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4); {1895#(= |ULTIMATE.start_main_#t~mem17#1| 0)} is VALID [2022-02-20 16:51:38,453 INFO L290 TraceCheckUtils]: 15: Hoare triple {1895#(= |ULTIMATE.start_main_#t~mem17#1| 0)} assume 1 == main_#t~mem17#1;havoc main_#t~mem17#1; {1836#false} is VALID [2022-02-20 16:51:38,453 INFO L290 TraceCheckUtils]: 16: Hoare triple {1836#false} assume !false; {1836#false} is VALID [2022-02-20 16:51:38,453 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:51:38,453 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:51:38,528 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 31 [2022-02-20 16:51:38,544 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 21 [2022-02-20 16:51:38,562 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_main_~head~0#1.base_16| Int) (v_ArrVal_795 (Array Int Int))) (or (not (= (select (select (store |c_#memory_int| |v_ULTIMATE.start_main_~head~0#1.base_16| v_ArrVal_795) |c_ULTIMATE.start_main_~head~0#1.base|) (+ |c_ULTIMATE.start_main_~head~0#1.offset| 8)) 1)) (not (= 0 (select |c_#valid| |v_ULTIMATE.start_main_~head~0#1.base_16|))))) is different from false [2022-02-20 16:51:38,754 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:51:38,755 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 38 [2022-02-20 16:51:38,784 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 93 treesize of output 69 [2022-02-20 16:51:38,797 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 51 [2022-02-20 16:51:39,489 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:51:39,490 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 133 treesize of output 110 [2022-02-20 16:51:39,516 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 215 treesize of output 195 [2022-02-20 16:51:39,541 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 195 treesize of output 187