./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/list-ext-properties/list-ext_flag.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) 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/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/list-ext-properties/list-ext_flag.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-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 valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 3747e65f01c1fbd6eb9d2ad39b0ceed8be631bde45acb074c0903963e660faab --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:48:07,744 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:48:07,746 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:48:07,770 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:48:07,770 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:48:07,774 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:48:07,775 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:48:07,776 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:48:07,778 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:48:07,780 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:48:07,780 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:48:07,781 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:48:07,782 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:48:07,783 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:48:07,784 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:48:07,784 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:48:07,785 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:48:07,786 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:48:07,787 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:48:07,788 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:48:07,788 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:48:07,789 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:48:07,790 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:48:07,790 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:48:07,792 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:48:07,792 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:48:07,792 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:48:07,793 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:48:07,793 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:48:07,794 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:48:07,794 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:48:07,794 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:48:07,795 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:48:07,795 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:48:07,796 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:48:07,796 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:48:07,797 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:48:07,797 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:48:07,797 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:48:07,798 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:48:07,798 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:48:07,799 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:48:07,813 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:48:07,813 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:48:07,814 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:48:07,814 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:48:07,815 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:48:07,815 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:48:07,816 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:48:07,816 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:48:07,816 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:48:07,816 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:48:07,817 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:48:07,817 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:48:07,817 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:48:07,817 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:48:07,817 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:48:07,817 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:48:07,817 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:48:07,818 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:48:07,818 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:48:07,818 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:48:07,818 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:48:07,818 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:48:07,818 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:48:07,818 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:48:07,819 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:48:07,819 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:48:07,819 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:48:07,819 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:48:07,819 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:48:07,819 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:48:07,820 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 valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) 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 -> 3747e65f01c1fbd6eb9d2ad39b0ceed8be631bde45acb074c0903963e660faab [2022-02-20 23:48:08,009 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:48:08,029 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:48:08,031 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:48:08,032 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:48:08,033 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:48:08,033 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-ext-properties/list-ext_flag.i [2022-02-20 23:48:08,073 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9334bbe3f/e577a49052ca4a72950b1a9ddc9aa5bf/FLAGbb74812cb [2022-02-20 23:48:08,460 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:48:08,460 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-ext-properties/list-ext_flag.i [2022-02-20 23:48:08,467 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9334bbe3f/e577a49052ca4a72950b1a9ddc9aa5bf/FLAGbb74812cb [2022-02-20 23:48:08,476 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9334bbe3f/e577a49052ca4a72950b1a9ddc9aa5bf [2022-02-20 23:48:08,477 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:48:08,478 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:48:08,483 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:48:08,483 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:48:08,486 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:48:08,487 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,487 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@73634877 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08, skipping insertion in model container [2022-02-20 23:48:08,487 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,492 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:48:08,513 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:48:08,717 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/list-ext-properties/list-ext_flag.i[23527,23540] [2022-02-20 23:48:08,719 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:48:08,726 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:48:08,780 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/list-ext-properties/list-ext_flag.i[23527,23540] [2022-02-20 23:48:08,792 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:48:08,813 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:48:08,813 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08 WrapperNode [2022-02-20 23:48:08,814 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:48:08,815 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:48:08,815 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:48:08,816 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:48:08,820 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,844 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,879 INFO L137 Inliner]: procedures = 119, calls = 31, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 123 [2022-02-20 23:48:08,880 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:48:08,880 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:48:08,880 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:48:08,881 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:48:08,886 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,886 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,891 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,891 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,901 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,907 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,909 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,916 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:48:08,919 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:48:08,919 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:48:08,919 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:48:08,920 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (1/1) ... [2022-02-20 23:48:08,925 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:48:08,933 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:08,942 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 23:48:08,954 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 23:48:08,973 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2022-02-20 23:48:08,974 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2022-02-20 23:48:08,974 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:48:08,974 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:48:08,974 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:48:08,974 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:48:08,974 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:48:08,974 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:48:08,974 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:48:08,974 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 23:48:08,975 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:48:08,975 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:48:09,045 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:48:09,046 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:48:09,086 INFO L766 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2022-02-20 23:48:09,444 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:48:09,451 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:48:09,452 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:48:09,453 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:48:09 BoogieIcfgContainer [2022-02-20 23:48:09,454 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:48:09,456 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:48:09,456 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:48:09,459 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:48:09,459 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:48:08" (1/3) ... [2022-02-20 23:48:09,460 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d0b1d66 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:48:09, skipping insertion in model container [2022-02-20 23:48:09,460 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:48:08" (2/3) ... [2022-02-20 23:48:09,460 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d0b1d66 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:48:09, skipping insertion in model container [2022-02-20 23:48:09,460 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:48:09" (3/3) ... [2022-02-20 23:48:09,461 INFO L111 eAbstractionObserver]: Analyzing ICFG list-ext_flag.i [2022-02-20 23:48:09,464 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:48:09,464 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 45 error locations. [2022-02-20 23:48:09,493 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:48:09,498 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=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 23:48:09,499 INFO L340 AbstractCegarLoop]: Starting to check reachability of 45 error locations. [2022-02-20 23:48:09,514 INFO L276 IsEmpty]: Start isEmpty. Operand has 104 states, 55 states have (on average 2.109090909090909) internal successors, (116), 102 states have internal predecessors, (116), 3 states have call successors, (3), 1 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:48:09,518 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2022-02-20 23:48:09,518 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:09,519 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2022-02-20 23:48:09,519 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:09,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:09,523 INFO L85 PathProgramCache]: Analyzing trace with hash 1079622, now seen corresponding path program 1 times [2022-02-20 23:48:09,530 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:09,546 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2035003151] [2022-02-20 23:48:09,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:09,547 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:09,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:09,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {107#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(16, 2); {107#true} is VALID [2022-02-20 23:48:09,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {107#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {109#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:48:09,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {109#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {109#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:48:09,675 INFO L290 TraceCheckUtils]: 3: Hoare triple {109#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} assume !(1 == #valid[main_~a~0#1.base]); {108#false} is VALID [2022-02-20 23:48:09,676 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 23:48:09,676 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:09,677 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2035003151] [2022-02-20 23:48:09,677 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2035003151] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:09,677 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:09,677 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:48:09,679 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [913025471] [2022-02-20 23:48:09,679 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:09,682 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 4 [2022-02-20 23:48:09,683 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:09,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:09,689 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:09,690 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:48:09,690 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:09,703 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:48:09,704 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:48:09,706 INFO L87 Difference]: Start difference. First operand has 104 states, 55 states have (on average 2.109090909090909) internal successors, (116), 102 states have internal predecessors, (116), 3 states have call successors, (3), 1 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:09,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:09,895 INFO L93 Difference]: Finished difference Result 123 states and 135 transitions. [2022-02-20 23:48:09,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:48:09,896 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 4 [2022-02-20 23:48:09,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:09,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:09,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2022-02-20 23:48:09,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:09,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2022-02-20 23:48:09,907 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 141 transitions. [2022-02-20 23:48:10,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:10,049 INFO L225 Difference]: With dead ends: 123 [2022-02-20 23:48:10,050 INFO L226 Difference]: Without dead ends: 116 [2022-02-20 23:48:10,053 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:48:10,057 INFO L933 BasicCegarLoop]: 68 mSDtfsCounter, 98 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:10,058 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [98 Valid, 85 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:10,074 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-02-20 23:48:10,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 96. [2022-02-20 23:48:10,085 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:10,085 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 96 states, 52 states have (on average 2.0) internal successors, (104), 95 states have internal predecessors, (104), 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 23:48:10,088 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 96 states, 52 states have (on average 2.0) internal successors, (104), 95 states have internal predecessors, (104), 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 23:48:10,090 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 96 states, 52 states have (on average 2.0) internal successors, (104), 95 states have internal predecessors, (104), 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 23:48:10,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:10,106 INFO L93 Difference]: Finished difference Result 116 states and 125 transitions. [2022-02-20 23:48:10,106 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 125 transitions. [2022-02-20 23:48:10,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:10,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:10,108 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 52 states have (on average 2.0) internal successors, (104), 95 states have internal predecessors, (104), 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 116 states. [2022-02-20 23:48:10,108 INFO L87 Difference]: Start difference. First operand has 96 states, 52 states have (on average 2.0) internal successors, (104), 95 states have internal predecessors, (104), 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 116 states. [2022-02-20 23:48:10,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:10,112 INFO L93 Difference]: Finished difference Result 116 states and 125 transitions. [2022-02-20 23:48:10,112 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 125 transitions. [2022-02-20 23:48:10,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:10,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:10,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:10,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:10,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 52 states have (on average 2.0) internal successors, (104), 95 states have internal predecessors, (104), 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 23:48:10,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 104 transitions. [2022-02-20 23:48:10,117 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 104 transitions. Word has length 4 [2022-02-20 23:48:10,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:10,117 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 104 transitions. [2022-02-20 23:48:10,118 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:10,118 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 104 transitions. [2022-02-20 23:48:10,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2022-02-20 23:48:10,118 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:10,118 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2022-02-20 23:48:10,119 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:48:10,119 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:10,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:10,120 INFO L85 PathProgramCache]: Analyzing trace with hash 1079623, now seen corresponding path program 1 times [2022-02-20 23:48:10,120 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:10,120 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [858682940] [2022-02-20 23:48:10,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:10,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:10,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:10,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {563#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(16, 2); {563#true} is VALID [2022-02-20 23:48:10,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {565#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:48:10,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {565#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (- 12)) 0))} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {565#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:48:10,159 INFO L290 TraceCheckUtils]: 3: Hoare triple {565#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (- 12)) 0))} assume !(4 + (8 + main_~a~0#1.offset) <= #length[main_~a~0#1.base] && 0 <= 8 + main_~a~0#1.offset); {564#false} is VALID [2022-02-20 23:48:10,160 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 23:48:10,160 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:10,160 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [858682940] [2022-02-20 23:48:10,160 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [858682940] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:10,160 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:10,161 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:48:10,161 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1460795939] [2022-02-20 23:48:10,161 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:10,162 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 4 [2022-02-20 23:48:10,162 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:10,162 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:10,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:10,166 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:48:10,166 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:10,166 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:48:10,167 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:48:10,167 INFO L87 Difference]: Start difference. First operand 96 states and 104 transitions. Second operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:10,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:10,318 INFO L93 Difference]: Finished difference Result 95 states and 103 transitions. [2022-02-20 23:48:10,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:48:10,319 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 4 [2022-02-20 23:48:10,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:10,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:10,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 104 transitions. [2022-02-20 23:48:10,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:10,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 104 transitions. [2022-02-20 23:48:10,323 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 104 transitions. [2022-02-20 23:48:10,420 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:10,422 INFO L225 Difference]: With dead ends: 95 [2022-02-20 23:48:10,422 INFO L226 Difference]: Without dead ends: 95 [2022-02-20 23:48:10,422 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:48:10,423 INFO L933 BasicCegarLoop]: 65 mSDtfsCounter, 99 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 99 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:10,423 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [99 Valid, 65 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:48:10,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-02-20 23:48:10,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 95. [2022-02-20 23:48:10,427 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:10,427 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 95 states, 52 states have (on average 1.9807692307692308) internal successors, (103), 94 states have internal predecessors, (103), 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 23:48:10,428 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 95 states, 52 states have (on average 1.9807692307692308) internal successors, (103), 94 states have internal predecessors, (103), 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 23:48:10,428 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 95 states, 52 states have (on average 1.9807692307692308) internal successors, (103), 94 states have internal predecessors, (103), 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 23:48:10,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:10,430 INFO L93 Difference]: Finished difference Result 95 states and 103 transitions. [2022-02-20 23:48:10,430 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 103 transitions. [2022-02-20 23:48:10,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:10,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:10,431 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 52 states have (on average 1.9807692307692308) internal successors, (103), 94 states have internal predecessors, (103), 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 95 states. [2022-02-20 23:48:10,432 INFO L87 Difference]: Start difference. First operand has 95 states, 52 states have (on average 1.9807692307692308) internal successors, (103), 94 states have internal predecessors, (103), 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 95 states. [2022-02-20 23:48:10,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:10,434 INFO L93 Difference]: Finished difference Result 95 states and 103 transitions. [2022-02-20 23:48:10,434 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 103 transitions. [2022-02-20 23:48:10,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:10,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:10,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:10,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:10,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 52 states have (on average 1.9807692307692308) internal successors, (103), 94 states have internal predecessors, (103), 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 23:48:10,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 103 transitions. [2022-02-20 23:48:10,437 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 103 transitions. Word has length 4 [2022-02-20 23:48:10,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:10,438 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 103 transitions. [2022-02-20 23:48:10,438 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 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 23:48:10,438 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 103 transitions. [2022-02-20 23:48:10,438 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:48:10,438 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:10,439 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:10,439 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:48:10,439 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr14REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:10,439 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:10,439 INFO L85 PathProgramCache]: Analyzing trace with hash 2065304377, now seen corresponding path program 1 times [2022-02-20 23:48:10,440 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:10,440 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1371561091] [2022-02-20 23:48:10,440 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:10,440 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:10,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:10,475 INFO L290 TraceCheckUtils]: 0: Hoare triple {948#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(16, 2); {948#true} is VALID [2022-02-20 23:48:10,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {948#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {948#true} is VALID [2022-02-20 23:48:10,475 INFO L290 TraceCheckUtils]: 2: Hoare triple {948#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {948#true} is VALID [2022-02-20 23:48:10,476 INFO L290 TraceCheckUtils]: 3: Hoare triple {948#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {950#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:48:10,476 INFO L290 TraceCheckUtils]: 4: Hoare triple {950#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {951#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:10,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {951#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} main_#t~short5#1 := main_~i~0#1 < 20; {951#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:10,477 INFO L290 TraceCheckUtils]: 6: Hoare triple {951#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {951#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:10,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {951#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {951#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:10,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {951#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume !(1 == #valid[main_~p~0#1.base]); {949#false} is VALID [2022-02-20 23:48:10,478 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 23:48:10,479 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:10,479 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1371561091] [2022-02-20 23:48:10,479 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1371561091] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:10,479 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:10,479 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:48:10,479 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [563273951] [2022-02-20 23:48:10,479 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:10,480 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 9 [2022-02-20 23:48:10,480 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:10,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:10,487 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:10,487 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:48:10,487 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:10,488 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:48:10,488 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:48:10,488 INFO L87 Difference]: Start difference. First operand 95 states and 103 transitions. Second operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:10,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:10,691 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2022-02-20 23:48:10,691 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:48:10,691 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 9 [2022-02-20 23:48:10,691 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:10,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:10,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 138 transitions. [2022-02-20 23:48:10,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:10,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 138 transitions. [2022-02-20 23:48:10,695 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 138 transitions. [2022-02-20 23:48:10,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:10,801 INFO L225 Difference]: With dead ends: 105 [2022-02-20 23:48:10,801 INFO L226 Difference]: Without dead ends: 105 [2022-02-20 23:48:10,801 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:10,802 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 166 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 166 SdHoareTripleChecker+Valid, 52 SdHoareTripleChecker+Invalid, 114 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:10,802 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [166 Valid, 52 Invalid, 114 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:10,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-02-20 23:48:10,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 87. [2022-02-20 23:48:10,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:10,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 87 states, 59 states have (on average 1.7118644067796611) internal successors, (101), 86 states have internal predecessors, (101), 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 23:48:10,806 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 87 states, 59 states have (on average 1.7118644067796611) internal successors, (101), 86 states have internal predecessors, (101), 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 23:48:10,807 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 87 states, 59 states have (on average 1.7118644067796611) internal successors, (101), 86 states have internal predecessors, (101), 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 23:48:10,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:10,809 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2022-02-20 23:48:10,809 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2022-02-20 23:48:10,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:10,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:10,810 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 59 states have (on average 1.7118644067796611) internal successors, (101), 86 states have internal predecessors, (101), 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 105 states. [2022-02-20 23:48:10,810 INFO L87 Difference]: Start difference. First operand has 87 states, 59 states have (on average 1.7118644067796611) internal successors, (101), 86 states have internal predecessors, (101), 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 105 states. [2022-02-20 23:48:10,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:10,812 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2022-02-20 23:48:10,813 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2022-02-20 23:48:10,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:10,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:10,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:10,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:10,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 59 states have (on average 1.7118644067796611) internal successors, (101), 86 states have internal predecessors, (101), 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 23:48:10,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 101 transitions. [2022-02-20 23:48:10,815 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 101 transitions. Word has length 9 [2022-02-20 23:48:10,816 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:10,816 INFO L470 AbstractCegarLoop]: Abstraction has 87 states and 101 transitions. [2022-02-20 23:48:10,816 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:10,816 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 101 transitions. [2022-02-20 23:48:10,816 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:48:10,817 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:10,817 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:10,817 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:48:10,817 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr15REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:10,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:10,818 INFO L85 PathProgramCache]: Analyzing trace with hash 2065304378, now seen corresponding path program 1 times [2022-02-20 23:48:10,818 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:10,818 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1549400631] [2022-02-20 23:48:10,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:10,818 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:10,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:10,863 INFO L290 TraceCheckUtils]: 0: Hoare triple {1358#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(16, 2); {1358#true} is VALID [2022-02-20 23:48:10,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {1358#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1360#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 12))} is VALID [2022-02-20 23:48:10,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 12))} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {1360#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 12))} is VALID [2022-02-20 23:48:10,865 INFO L290 TraceCheckUtils]: 3: Hoare triple {1360#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 12))} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {1360#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 12))} is VALID [2022-02-20 23:48:10,866 INFO L290 TraceCheckUtils]: 4: Hoare triple {1360#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 12))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {1361#(and (= 0 (+ (select |#length| |ULTIMATE.start_main_~p~0#1.base|) (- 12))) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:10,866 INFO L290 TraceCheckUtils]: 5: Hoare triple {1361#(and (= 0 (+ (select |#length| |ULTIMATE.start_main_~p~0#1.base|) (- 12))) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {1361#(and (= 0 (+ (select |#length| |ULTIMATE.start_main_~p~0#1.base|) (- 12))) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:10,867 INFO L290 TraceCheckUtils]: 6: Hoare triple {1361#(and (= 0 (+ (select |#length| |ULTIMATE.start_main_~p~0#1.base|) (- 12))) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {1361#(and (= 0 (+ (select |#length| |ULTIMATE.start_main_~p~0#1.base|) (- 12))) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:10,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {1361#(and (= 0 (+ (select |#length| |ULTIMATE.start_main_~p~0#1.base|) (- 12))) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {1361#(and (= 0 (+ (select |#length| |ULTIMATE.start_main_~p~0#1.base|) (- 12))) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:10,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {1361#(and (= 0 (+ (select |#length| |ULTIMATE.start_main_~p~0#1.base|) (- 12))) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(4 + main_~p~0#1.offset <= #length[main_~p~0#1.base] && 0 <= main_~p~0#1.offset); {1359#false} is VALID [2022-02-20 23:48:10,868 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 23:48:10,868 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:10,868 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1549400631] [2022-02-20 23:48:10,868 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1549400631] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:10,869 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:10,869 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:48:10,869 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [512192889] [2022-02-20 23:48:10,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:10,869 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 9 [2022-02-20 23:48:10,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:10,870 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:10,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:10,877 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:48:10,877 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:10,877 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:48:10,877 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:48:10,878 INFO L87 Difference]: Start difference. First operand 87 states and 101 transitions. Second operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:11,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,144 INFO L93 Difference]: Finished difference Result 123 states and 138 transitions. [2022-02-20 23:48:11,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:48:11,144 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 9 [2022-02-20 23:48:11,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:11,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:11,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 157 transitions. [2022-02-20 23:48:11,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:11,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 157 transitions. [2022-02-20 23:48:11,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 157 transitions. [2022-02-20 23:48:11,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:11,261 INFO L225 Difference]: With dead ends: 123 [2022-02-20 23:48:11,261 INFO L226 Difference]: Without dead ends: 123 [2022-02-20 23:48:11,262 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:11,262 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 176 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 103 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 176 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 132 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 103 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:11,263 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [176 Valid, 62 Invalid, 132 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 103 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:11,263 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-02-20 23:48:11,266 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 108. [2022-02-20 23:48:11,266 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:11,266 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand has 108 states, 82 states have (on average 1.5121951219512195) internal successors, (124), 107 states have internal predecessors, (124), 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 23:48:11,267 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand has 108 states, 82 states have (on average 1.5121951219512195) internal successors, (124), 107 states have internal predecessors, (124), 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 23:48:11,267 INFO L87 Difference]: Start difference. First operand 123 states. Second operand has 108 states, 82 states have (on average 1.5121951219512195) internal successors, (124), 107 states have internal predecessors, (124), 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 23:48:11,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,271 INFO L93 Difference]: Finished difference Result 123 states and 138 transitions. [2022-02-20 23:48:11,271 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 138 transitions. [2022-02-20 23:48:11,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:11,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:11,271 INFO L74 IsIncluded]: Start isIncluded. First operand has 108 states, 82 states have (on average 1.5121951219512195) internal successors, (124), 107 states have internal predecessors, (124), 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 123 states. [2022-02-20 23:48:11,272 INFO L87 Difference]: Start difference. First operand has 108 states, 82 states have (on average 1.5121951219512195) internal successors, (124), 107 states have internal predecessors, (124), 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 123 states. [2022-02-20 23:48:11,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,275 INFO L93 Difference]: Finished difference Result 123 states and 138 transitions. [2022-02-20 23:48:11,275 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 138 transitions. [2022-02-20 23:48:11,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:11,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:11,276 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:11,276 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:11,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 82 states have (on average 1.5121951219512195) internal successors, (124), 107 states have internal predecessors, (124), 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 23:48:11,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 124 transitions. [2022-02-20 23:48:11,279 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 124 transitions. Word has length 9 [2022-02-20 23:48:11,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:11,280 INFO L470 AbstractCegarLoop]: Abstraction has 108 states and 124 transitions. [2022-02-20 23:48:11,280 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 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 23:48:11,280 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 124 transitions. [2022-02-20 23:48:11,280 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 23:48:11,281 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:11,281 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:11,281 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:48:11,281 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:11,281 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:11,282 INFO L85 PathProgramCache]: Analyzing trace with hash 990774777, now seen corresponding path program 1 times [2022-02-20 23:48:11,282 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:11,282 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2121316773] [2022-02-20 23:48:11,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:11,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:11,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:11,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {1843#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(16, 2); {1843#true} is VALID [2022-02-20 23:48:11,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {1843#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1843#true} is VALID [2022-02-20 23:48:11,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {1843#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {1843#true} is VALID [2022-02-20 23:48:11,340 INFO L290 TraceCheckUtils]: 3: Hoare triple {1843#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {1843#true} is VALID [2022-02-20 23:48:11,340 INFO L290 TraceCheckUtils]: 4: Hoare triple {1843#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:11,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~short5#1 := main_~i~0#1 < 20; {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:11,341 INFO L290 TraceCheckUtils]: 6: Hoare triple {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:11,341 INFO L290 TraceCheckUtils]: 7: Hoare triple {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:11,342 INFO L290 TraceCheckUtils]: 8: Hoare triple {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:11,342 INFO L290 TraceCheckUtils]: 9: Hoare triple {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:11,342 INFO L290 TraceCheckUtils]: 10: Hoare triple {1845#(= |ULTIMATE.start_main_~i~0#1| 0)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {1846#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} is VALID [2022-02-20 23:48:11,343 INFO L290 TraceCheckUtils]: 11: Hoare triple {1846#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {1847#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} is VALID [2022-02-20 23:48:11,343 INFO L290 TraceCheckUtils]: 12: Hoare triple {1847#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {1848#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= 3 |ULTIMATE.start_main_#t~mem17#1|))} is VALID [2022-02-20 23:48:11,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {1848#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= 3 |ULTIMATE.start_main_#t~mem17#1|))} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {1844#false} is VALID [2022-02-20 23:48:11,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {1844#false} assume !false; {1844#false} is VALID [2022-02-20 23:48:11,344 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 23:48:11,345 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:11,345 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2121316773] [2022-02-20 23:48:11,345 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2121316773] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:11,345 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:11,345 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:48:11,345 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1746823831] [2022-02-20 23:48:11,345 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:11,346 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 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 23:48:11,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:11,346 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 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 23:48:11,355 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 23:48:11,356 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:48:11,356 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:11,356 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:48:11,357 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:48:11,357 INFO L87 Difference]: Start difference. First operand 108 states and 124 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 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 23:48:11,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,571 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-02-20 23:48:11,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:48:11,571 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 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 23:48:11,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:11,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 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 23:48:11,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 139 transitions. [2022-02-20 23:48:11,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 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 23:48:11,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 139 transitions. [2022-02-20 23:48:11,574 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 139 transitions. [2022-02-20 23:48:11,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:11,659 INFO L225 Difference]: With dead ends: 156 [2022-02-20 23:48:11,660 INFO L226 Difference]: Without dead ends: 156 [2022-02-20 23:48:11,660 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:48:11,661 INFO L933 BasicCegarLoop]: 79 mSDtfsCounter, 43 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 268 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:11,661 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 268 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:11,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-02-20 23:48:11,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 113. [2022-02-20 23:48:11,665 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:11,665 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 113 states, 87 states have (on average 1.4942528735632183) internal successors, (130), 112 states have internal predecessors, (130), 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 23:48:11,665 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 113 states, 87 states have (on average 1.4942528735632183) internal successors, (130), 112 states have internal predecessors, (130), 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 23:48:11,666 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 113 states, 87 states have (on average 1.4942528735632183) internal successors, (130), 112 states have internal predecessors, (130), 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 23:48:11,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,668 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-02-20 23:48:11,668 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-02-20 23:48:11,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:11,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:11,669 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 87 states have (on average 1.4942528735632183) internal successors, (130), 112 states have internal predecessors, (130), 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 156 states. [2022-02-20 23:48:11,669 INFO L87 Difference]: Start difference. First operand has 113 states, 87 states have (on average 1.4942528735632183) internal successors, (130), 112 states have internal predecessors, (130), 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 156 states. [2022-02-20 23:48:11,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:11,672 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-02-20 23:48:11,672 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-02-20 23:48:11,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:11,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:11,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:11,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:11,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 87 states have (on average 1.4942528735632183) internal successors, (130), 112 states have internal predecessors, (130), 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 23:48:11,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 130 transitions. [2022-02-20 23:48:11,675 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 130 transitions. Word has length 15 [2022-02-20 23:48:11,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:11,675 INFO L470 AbstractCegarLoop]: Abstraction has 113 states and 130 transitions. [2022-02-20 23:48:11,675 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 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 23:48:11,675 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 130 transitions. [2022-02-20 23:48:11,675 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:48:11,676 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:11,676 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 23:48:11,676 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:48:11,676 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:11,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:11,677 INFO L85 PathProgramCache]: Analyzing trace with hash -1321200184, now seen corresponding path program 1 times [2022-02-20 23:48:11,677 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:11,677 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [120783458] [2022-02-20 23:48:11,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:11,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:11,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:11,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {2434#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(16, 2); {2434#true} is VALID [2022-02-20 23:48:11,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {2434#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2434#true} is VALID [2022-02-20 23:48:11,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {2434#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {2434#true} is VALID [2022-02-20 23:48:11,727 INFO L290 TraceCheckUtils]: 3: Hoare triple {2434#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {2434#true} is VALID [2022-02-20 23:48:11,727 INFO L290 TraceCheckUtils]: 4: Hoare triple {2434#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {2436#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:11,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {2436#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {2436#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:11,728 INFO L290 TraceCheckUtils]: 6: Hoare triple {2436#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {2436#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:11,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {2436#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {2436#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:11,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {2436#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {2437#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 3)} is VALID [2022-02-20 23:48:11,730 INFO L290 TraceCheckUtils]: 9: Hoare triple {2437#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 3)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {2438#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)} is VALID [2022-02-20 23:48:11,730 INFO L290 TraceCheckUtils]: 10: Hoare triple {2438#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {2439#(= 3 |ULTIMATE.start_main_#t~mem11#1|)} is VALID [2022-02-20 23:48:11,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {2439#(= 3 |ULTIMATE.start_main_#t~mem11#1|)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {2435#false} is VALID [2022-02-20 23:48:11,731 INFO L290 TraceCheckUtils]: 12: Hoare triple {2435#false} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {2435#false} is VALID [2022-02-20 23:48:11,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {2435#false} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {2435#false} is VALID [2022-02-20 23:48:11,731 INFO L290 TraceCheckUtils]: 14: Hoare triple {2435#false} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {2435#false} is VALID [2022-02-20 23:48:11,731 INFO L290 TraceCheckUtils]: 15: Hoare triple {2435#false} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {2435#false} is VALID [2022-02-20 23:48:11,732 INFO L290 TraceCheckUtils]: 16: Hoare triple {2435#false} assume !false; {2435#false} is VALID [2022-02-20 23:48:11,732 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 23:48:11,732 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:11,732 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [120783458] [2022-02-20 23:48:11,732 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [120783458] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:11,732 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:11,733 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:48:11,733 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1447567209] [2022-02-20 23:48:11,733 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:11,733 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 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 23:48:11,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:11,733 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 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 23:48:11,743 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 23:48:11,744 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:48:11,744 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:11,744 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:48:11,744 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:48:11,745 INFO L87 Difference]: Start difference. First operand 113 states and 130 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 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 23:48:12,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,206 INFO L93 Difference]: Finished difference Result 169 states and 185 transitions. [2022-02-20 23:48:12,206 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:48:12,206 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 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 23:48:12,206 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:12,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 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 23:48:12,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 186 transitions. [2022-02-20 23:48:12,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 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 23:48:12,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 186 transitions. [2022-02-20 23:48:12,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 186 transitions. [2022-02-20 23:48:12,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 186 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:12,332 INFO L225 Difference]: With dead ends: 169 [2022-02-20 23:48:12,332 INFO L226 Difference]: Without dead ends: 169 [2022-02-20 23:48:12,332 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:48:12,333 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 138 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 218 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 138 SdHoareTripleChecker+Valid, 221 SdHoareTripleChecker+Invalid, 233 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 218 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:12,333 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [138 Valid, 221 Invalid, 233 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 218 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:48:12,334 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-02-20 23:48:12,336 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 113. [2022-02-20 23:48:12,336 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:12,337 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 113 states, 87 states have (on average 1.4827586206896552) internal successors, (129), 112 states have internal predecessors, (129), 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 23:48:12,337 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 113 states, 87 states have (on average 1.4827586206896552) internal successors, (129), 112 states have internal predecessors, (129), 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 23:48:12,337 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 113 states, 87 states have (on average 1.4827586206896552) internal successors, (129), 112 states have internal predecessors, (129), 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 23:48:12,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,340 INFO L93 Difference]: Finished difference Result 169 states and 185 transitions. [2022-02-20 23:48:12,340 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 185 transitions. [2022-02-20 23:48:12,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:12,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:12,341 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 87 states have (on average 1.4827586206896552) internal successors, (129), 112 states have internal predecessors, (129), 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 169 states. [2022-02-20 23:48:12,341 INFO L87 Difference]: Start difference. First operand has 113 states, 87 states have (on average 1.4827586206896552) internal successors, (129), 112 states have internal predecessors, (129), 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 169 states. [2022-02-20 23:48:12,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,344 INFO L93 Difference]: Finished difference Result 169 states and 185 transitions. [2022-02-20 23:48:12,344 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 185 transitions. [2022-02-20 23:48:12,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:12,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:12,345 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:12,345 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:12,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 87 states have (on average 1.4827586206896552) internal successors, (129), 112 states have internal predecessors, (129), 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 23:48:12,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 129 transitions. [2022-02-20 23:48:12,347 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 129 transitions. Word has length 17 [2022-02-20 23:48:12,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:12,347 INFO L470 AbstractCegarLoop]: Abstraction has 113 states and 129 transitions. [2022-02-20 23:48:12,348 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 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 23:48:12,348 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 129 transitions. [2022-02-20 23:48:12,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 23:48:12,348 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:12,348 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:12,348 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 23:48:12,349 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr31ASSERT_VIOLATIONMEMORY_FREE === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:12,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:12,349 INFO L85 PathProgramCache]: Analyzing trace with hash 1496225836, now seen corresponding path program 1 times [2022-02-20 23:48:12,349 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:12,349 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1116384763] [2022-02-20 23:48:12,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:12,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:12,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:12,396 INFO L290 TraceCheckUtils]: 0: Hoare triple {3066#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(16, 2); {3066#true} is VALID [2022-02-20 23:48:12,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {3066#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,397 INFO L290 TraceCheckUtils]: 3: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,398 INFO L290 TraceCheckUtils]: 4: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,398 INFO L290 TraceCheckUtils]: 5: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} main_#t~short5#1 := main_~i~0#1 < 20; {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,398 INFO L290 TraceCheckUtils]: 6: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,399 INFO L290 TraceCheckUtils]: 7: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,399 INFO L290 TraceCheckUtils]: 8: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,399 INFO L290 TraceCheckUtils]: 9: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,400 INFO L290 TraceCheckUtils]: 10: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,400 INFO L290 TraceCheckUtils]: 11: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,400 INFO L290 TraceCheckUtils]: 12: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,401 INFO L290 TraceCheckUtils]: 13: Hoare triple {3068#(<= (+ |ULTIMATE.start_main_~a~0#1.base| 1) |#StackHeapBarrier|)} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,401 INFO L290 TraceCheckUtils]: 14: Hoare triple {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,401 INFO L290 TraceCheckUtils]: 15: Hoare triple {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,402 INFO L290 TraceCheckUtils]: 16: Hoare triple {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} assume main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} assume 0 == main_~p~0#1.offset; {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:48:12,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {3069#(<= (+ |ULTIMATE.start_main_~p~0#1.base| 1) |#StackHeapBarrier|)} assume !(main_~p~0#1.base < #StackHeapBarrier); {3067#false} is VALID [2022-02-20 23:48:12,403 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 23:48:12,403 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:12,403 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1116384763] [2022-02-20 23:48:12,403 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1116384763] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:12,403 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:12,404 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:48:12,404 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1142859769] [2022-02-20 23:48:12,404 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:12,404 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 6.333333333333333) internal successors, (19), 4 states have internal predecessors, (19), 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 19 [2022-02-20 23:48:12,404 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:12,405 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 6.333333333333333) internal successors, (19), 4 states have internal predecessors, (19), 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 23:48:12,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:12,417 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:48:12,417 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:12,417 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:48:12,417 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:48:12,418 INFO L87 Difference]: Start difference. First operand 113 states and 129 transitions. Second operand has 4 states, 3 states have (on average 6.333333333333333) internal successors, (19), 4 states have internal predecessors, (19), 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 23:48:12,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,617 INFO L93 Difference]: Finished difference Result 122 states and 137 transitions. [2022-02-20 23:48:12,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:48:12,617 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 6.333333333333333) internal successors, (19), 4 states have internal predecessors, (19), 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 19 [2022-02-20 23:48:12,617 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:12,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 6.333333333333333) internal successors, (19), 4 states have internal predecessors, (19), 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 23:48:12,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 136 transitions. [2022-02-20 23:48:12,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 6.333333333333333) internal successors, (19), 4 states have internal predecessors, (19), 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 23:48:12,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 136 transitions. [2022-02-20 23:48:12,619 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 136 transitions. [2022-02-20 23:48:12,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:12,715 INFO L225 Difference]: With dead ends: 122 [2022-02-20 23:48:12,715 INFO L226 Difference]: Without dead ends: 122 [2022-02-20 23:48:12,715 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:12,715 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 154 mSDsluCounter, 28 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 154 SdHoareTripleChecker+Valid, 84 SdHoareTripleChecker+Invalid, 87 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:12,716 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [154 Valid, 84 Invalid, 87 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:12,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-02-20 23:48:12,718 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 114. [2022-02-20 23:48:12,718 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:12,718 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 114 states, 89 states have (on average 1.4606741573033708) internal successors, (130), 113 states have internal predecessors, (130), 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 23:48:12,719 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 114 states, 89 states have (on average 1.4606741573033708) internal successors, (130), 113 states have internal predecessors, (130), 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 23:48:12,719 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 114 states, 89 states have (on average 1.4606741573033708) internal successors, (130), 113 states have internal predecessors, (130), 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 23:48:12,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,721 INFO L93 Difference]: Finished difference Result 122 states and 137 transitions. [2022-02-20 23:48:12,721 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 137 transitions. [2022-02-20 23:48:12,721 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:12,721 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:12,721 INFO L74 IsIncluded]: Start isIncluded. First operand has 114 states, 89 states have (on average 1.4606741573033708) internal successors, (130), 113 states have internal predecessors, (130), 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 122 states. [2022-02-20 23:48:12,722 INFO L87 Difference]: Start difference. First operand has 114 states, 89 states have (on average 1.4606741573033708) internal successors, (130), 113 states have internal predecessors, (130), 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 122 states. [2022-02-20 23:48:12,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:12,724 INFO L93 Difference]: Finished difference Result 122 states and 137 transitions. [2022-02-20 23:48:12,724 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 137 transitions. [2022-02-20 23:48:12,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:12,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:12,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:12,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:12,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 114 states, 89 states have (on average 1.4606741573033708) internal successors, (130), 113 states have internal predecessors, (130), 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 23:48:12,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 130 transitions. [2022-02-20 23:48:12,726 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 130 transitions. Word has length 19 [2022-02-20 23:48:12,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:12,726 INFO L470 AbstractCegarLoop]: Abstraction has 114 states and 130 transitions. [2022-02-20 23:48:12,727 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 6.333333333333333) internal successors, (19), 4 states have internal predecessors, (19), 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 23:48:12,727 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 130 transitions. [2022-02-20 23:48:12,727 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:48:12,727 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:12,727 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:12,727 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 23:48:12,728 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr44ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:12,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:12,728 INFO L85 PathProgramCache]: Analyzing trace with hash 893457289, now seen corresponding path program 1 times [2022-02-20 23:48:12,728 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:12,728 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [743591817] [2022-02-20 23:48:12,729 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:12,729 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:12,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:12,782 INFO L290 TraceCheckUtils]: 0: Hoare triple {3554#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(16, 2); {3554#true} is VALID [2022-02-20 23:48:12,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {3554#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,783 INFO L290 TraceCheckUtils]: 3: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,784 INFO L290 TraceCheckUtils]: 4: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} main_#t~short5#1 := main_~i~0#1 < 20; {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,784 INFO L290 TraceCheckUtils]: 6: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,786 INFO L290 TraceCheckUtils]: 10: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,786 INFO L290 TraceCheckUtils]: 11: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,786 INFO L290 TraceCheckUtils]: 12: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {3556#(= (store |#valid| |ULTIMATE.start_main_~a~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,788 INFO L290 TraceCheckUtils]: 16: Hoare triple {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,794 INFO L290 TraceCheckUtils]: 17: Hoare triple {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume 0 == main_~p~0#1.offset; {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume main_~p~0#1.base < #StackHeapBarrier; {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:48:12,795 INFO L290 TraceCheckUtils]: 19: Hoare triple {3557#(= (store |#valid| |ULTIMATE.start_main_~p~0#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset);main_~p~0#1.base, main_~p~0#1.offset := 0, 0; {3558#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:48:12,796 INFO L290 TraceCheckUtils]: 20: Hoare triple {3558#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} main_#res#1 := 0; {3558#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:48:12,796 INFO L290 TraceCheckUtils]: 21: Hoare triple {3558#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(#valid == main_old_#valid#1); {3555#false} is VALID [2022-02-20 23:48:12,796 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 23:48:12,797 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:12,797 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [743591817] [2022-02-20 23:48:12,797 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [743591817] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:12,797 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:12,797 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:48:12,797 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1534294303] [2022-02-20 23:48:12,797 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:12,798 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 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 22 [2022-02-20 23:48:12,798 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:12,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 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 23:48:12,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:12,812 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:48:12,812 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:12,812 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:48:12,813 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:48:12,813 INFO L87 Difference]: Start difference. First operand 114 states and 130 transitions. Second operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 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 23:48:13,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:13,097 INFO L93 Difference]: Finished difference Result 151 states and 168 transitions. [2022-02-20 23:48:13,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:48:13,097 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 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 22 [2022-02-20 23:48:13,097 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:13,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 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 23:48:13,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 144 transitions. [2022-02-20 23:48:13,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 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 23:48:13,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 144 transitions. [2022-02-20 23:48:13,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 144 transitions. [2022-02-20 23:48:13,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:13,191 INFO L225 Difference]: With dead ends: 151 [2022-02-20 23:48:13,191 INFO L226 Difference]: Without dead ends: 141 [2022-02-20 23:48:13,192 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:48:13,192 INFO L933 BasicCegarLoop]: 69 mSDtfsCounter, 84 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 147 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 156 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 147 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:13,192 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 201 Invalid, 156 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 147 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:13,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-02-20 23:48:13,194 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 119. [2022-02-20 23:48:13,194 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:13,195 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 119 states, 94 states have (on average 1.4361702127659575) internal successors, (135), 118 states have internal predecessors, (135), 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 23:48:13,195 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 119 states, 94 states have (on average 1.4361702127659575) internal successors, (135), 118 states have internal predecessors, (135), 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 23:48:13,195 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 119 states, 94 states have (on average 1.4361702127659575) internal successors, (135), 118 states have internal predecessors, (135), 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 23:48:13,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:13,197 INFO L93 Difference]: Finished difference Result 141 states and 158 transitions. [2022-02-20 23:48:13,197 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 158 transitions. [2022-02-20 23:48:13,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:13,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:13,198 INFO L74 IsIncluded]: Start isIncluded. First operand has 119 states, 94 states have (on average 1.4361702127659575) internal successors, (135), 118 states have internal predecessors, (135), 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 141 states. [2022-02-20 23:48:13,198 INFO L87 Difference]: Start difference. First operand has 119 states, 94 states have (on average 1.4361702127659575) internal successors, (135), 118 states have internal predecessors, (135), 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 141 states. [2022-02-20 23:48:13,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:13,200 INFO L93 Difference]: Finished difference Result 141 states and 158 transitions. [2022-02-20 23:48:13,200 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 158 transitions. [2022-02-20 23:48:13,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:13,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:13,200 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:13,200 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:13,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 94 states have (on average 1.4361702127659575) internal successors, (135), 118 states have internal predecessors, (135), 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 23:48:13,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 135 transitions. [2022-02-20 23:48:13,203 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 135 transitions. Word has length 22 [2022-02-20 23:48:13,203 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:13,203 INFO L470 AbstractCegarLoop]: Abstraction has 119 states and 135 transitions. [2022-02-20 23:48:13,203 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.5) internal successors, (22), 5 states have internal predecessors, (22), 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 23:48:13,204 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 135 transitions. [2022-02-20 23:48:13,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:48:13,204 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:13,204 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:13,204 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 23:48:13,204 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr14REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:13,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:13,205 INFO L85 PathProgramCache]: Analyzing trace with hash -1991608044, now seen corresponding path program 1 times [2022-02-20 23:48:13,205 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:13,205 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946562634] [2022-02-20 23:48:13,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:13,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:13,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:13,252 INFO L290 TraceCheckUtils]: 0: Hoare triple {4119#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(16, 2); {4119#true} is VALID [2022-02-20 23:48:13,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {4119#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {4119#true} is VALID [2022-02-20 23:48:13,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {4119#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {4119#true} is VALID [2022-02-20 23:48:13,253 INFO L290 TraceCheckUtils]: 3: Hoare triple {4119#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {4119#true} is VALID [2022-02-20 23:48:13,253 INFO L290 TraceCheckUtils]: 4: Hoare triple {4119#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {4119#true} is VALID [2022-02-20 23:48:13,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {4119#true} main_#t~short5#1 := main_~i~0#1 < 20; {4119#true} is VALID [2022-02-20 23:48:13,253 INFO L290 TraceCheckUtils]: 6: Hoare triple {4119#true} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {4119#true} is VALID [2022-02-20 23:48:13,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {4119#true} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {4119#true} is VALID [2022-02-20 23:48:13,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {4119#true} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {4119#true} is VALID [2022-02-20 23:48:13,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {4119#true} havoc main_#t~nondet7#1; {4119#true} is VALID [2022-02-20 23:48:13,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {4119#true} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {4119#true} is VALID [2022-02-20 23:48:13,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {4119#true} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {4119#true} is VALID [2022-02-20 23:48:13,254 INFO L290 TraceCheckUtils]: 12: Hoare triple {4119#true} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {4119#true} is VALID [2022-02-20 23:48:13,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {4119#true} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {4121#(= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1)} is VALID [2022-02-20 23:48:13,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {4121#(= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1)} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {4121#(= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1)} is VALID [2022-02-20 23:48:13,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {4121#(= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1)} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {4122#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:13,257 INFO L290 TraceCheckUtils]: 16: Hoare triple {4122#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {4123#(= (select |#valid| |ULTIMATE.start_main_#t~mem10#1.base|) 1)} is VALID [2022-02-20 23:48:13,257 INFO L290 TraceCheckUtils]: 17: Hoare triple {4123#(= (select |#valid| |ULTIMATE.start_main_#t~mem10#1.base|) 1)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {4124#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:13,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {4124#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} main_#t~short5#1 := main_~i~0#1 < 20; {4124#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:13,258 INFO L290 TraceCheckUtils]: 19: Hoare triple {4124#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {4124#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:13,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {4124#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {4124#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:13,258 INFO L290 TraceCheckUtils]: 21: Hoare triple {4124#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume !(1 == #valid[main_~p~0#1.base]); {4120#false} is VALID [2022-02-20 23:48:13,259 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:13,259 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:13,259 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1946562634] [2022-02-20 23:48:13,259 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1946562634] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:13,259 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:13,259 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:48:13,259 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [261787790] [2022-02-20 23:48:13,259 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:13,260 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 22 [2022-02-20 23:48:13,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:13,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:13,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:13,273 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:48:13,274 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:13,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:48:13,274 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:48:13,274 INFO L87 Difference]: Start difference. First operand 119 states and 135 transitions. Second operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:13,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:13,681 INFO L93 Difference]: Finished difference Result 120 states and 136 transitions. [2022-02-20 23:48:13,681 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:48:13,681 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 22 [2022-02-20 23:48:13,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:13,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:13,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 116 transitions. [2022-02-20 23:48:13,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:13,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 116 transitions. [2022-02-20 23:48:13,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 116 transitions. [2022-02-20 23:48:13,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:13,774 INFO L225 Difference]: With dead ends: 120 [2022-02-20 23:48:13,775 INFO L226 Difference]: Without dead ends: 120 [2022-02-20 23:48:13,775 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:48:13,775 INFO L933 BasicCegarLoop]: 63 mSDtfsCounter, 118 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 234 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:13,775 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [118 Valid, 185 Invalid, 234 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 226 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:48:13,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-02-20 23:48:13,777 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 117. [2022-02-20 23:48:13,777 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:13,777 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 117 states, 94 states have (on average 1.4148936170212767) internal successors, (133), 116 states have internal predecessors, (133), 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 23:48:13,777 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 117 states, 94 states have (on average 1.4148936170212767) internal successors, (133), 116 states have internal predecessors, (133), 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 23:48:13,778 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 117 states, 94 states have (on average 1.4148936170212767) internal successors, (133), 116 states have internal predecessors, (133), 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 23:48:13,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:13,779 INFO L93 Difference]: Finished difference Result 120 states and 136 transitions. [2022-02-20 23:48:13,779 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 136 transitions. [2022-02-20 23:48:13,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:13,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:13,780 INFO L74 IsIncluded]: Start isIncluded. First operand has 117 states, 94 states have (on average 1.4148936170212767) internal successors, (133), 116 states have internal predecessors, (133), 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 120 states. [2022-02-20 23:48:13,780 INFO L87 Difference]: Start difference. First operand has 117 states, 94 states have (on average 1.4148936170212767) internal successors, (133), 116 states have internal predecessors, (133), 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 120 states. [2022-02-20 23:48:13,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:13,782 INFO L93 Difference]: Finished difference Result 120 states and 136 transitions. [2022-02-20 23:48:13,782 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 136 transitions. [2022-02-20 23:48:13,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:13,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:13,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:13,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:13,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 117 states, 94 states have (on average 1.4148936170212767) internal successors, (133), 116 states have internal predecessors, (133), 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 23:48:13,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 133 transitions. [2022-02-20 23:48:13,785 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 133 transitions. Word has length 22 [2022-02-20 23:48:13,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:13,785 INFO L470 AbstractCegarLoop]: Abstraction has 117 states and 133 transitions. [2022-02-20 23:48:13,785 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:13,786 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 133 transitions. [2022-02-20 23:48:13,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:48:13,786 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:13,786 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:13,786 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 23:48:13,786 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr15REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:13,787 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:13,787 INFO L85 PathProgramCache]: Analyzing trace with hash -1991608043, now seen corresponding path program 1 times [2022-02-20 23:48:13,787 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:13,787 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [330986491] [2022-02-20 23:48:13,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:13,787 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:13,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:13,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {4611#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(16, 2); {4611#true} is VALID [2022-02-20 23:48:13,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {4611#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {4611#true} is VALID [2022-02-20 23:48:13,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {4611#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {4611#true} is VALID [2022-02-20 23:48:13,878 INFO L290 TraceCheckUtils]: 3: Hoare triple {4611#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {4611#true} is VALID [2022-02-20 23:48:13,878 INFO L290 TraceCheckUtils]: 4: Hoare triple {4611#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {4611#true} is VALID [2022-02-20 23:48:13,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {4611#true} main_#t~short5#1 := main_~i~0#1 < 20; {4611#true} is VALID [2022-02-20 23:48:13,878 INFO L290 TraceCheckUtils]: 6: Hoare triple {4611#true} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {4611#true} is VALID [2022-02-20 23:48:13,878 INFO L290 TraceCheckUtils]: 7: Hoare triple {4611#true} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {4611#true} is VALID [2022-02-20 23:48:13,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {4611#true} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {4611#true} is VALID [2022-02-20 23:48:13,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {4611#true} havoc main_#t~nondet7#1; {4611#true} is VALID [2022-02-20 23:48:13,879 INFO L290 TraceCheckUtils]: 10: Hoare triple {4611#true} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {4611#true} is VALID [2022-02-20 23:48:13,879 INFO L290 TraceCheckUtils]: 11: Hoare triple {4611#true} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {4611#true} is VALID [2022-02-20 23:48:13,879 INFO L290 TraceCheckUtils]: 12: Hoare triple {4611#true} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {4611#true} is VALID [2022-02-20 23:48:13,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {4611#true} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {4613#(and (= |ULTIMATE.start_main_~t~0#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} is VALID [2022-02-20 23:48:13,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {4613#(and (= |ULTIMATE.start_main_~t~0#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {4613#(and (= |ULTIMATE.start_main_~t~0#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} is VALID [2022-02-20 23:48:13,881 INFO L290 TraceCheckUtils]: 15: Hoare triple {4613#(and (= |ULTIMATE.start_main_~t~0#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {4614#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:13,881 INFO L290 TraceCheckUtils]: 16: Hoare triple {4614#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {4615#(and (= |ULTIMATE.start_main_#t~mem10#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_#t~mem10#1.base|)))} is VALID [2022-02-20 23:48:13,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {4615#(and (= |ULTIMATE.start_main_#t~mem10#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_#t~mem10#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {4616#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:13,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {4616#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {4616#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:13,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {4616#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {4616#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:13,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {4616#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {4616#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:13,883 INFO L290 TraceCheckUtils]: 21: Hoare triple {4616#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(4 + main_~p~0#1.offset <= #length[main_~p~0#1.base] && 0 <= main_~p~0#1.offset); {4612#false} is VALID [2022-02-20 23:48:13,884 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:13,884 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:13,884 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [330986491] [2022-02-20 23:48:13,884 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [330986491] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:13,884 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:13,884 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:48:13,884 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1494039755] [2022-02-20 23:48:13,884 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:13,885 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 22 [2022-02-20 23:48:13,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:13,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:13,898 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:13,898 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:48:13,898 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:13,899 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:48:13,899 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:48:13,899 INFO L87 Difference]: Start difference. First operand 117 states and 133 transitions. Second operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:14,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:14,384 INFO L93 Difference]: Finished difference Result 117 states and 132 transitions. [2022-02-20 23:48:14,384 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:48:14,384 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 22 [2022-02-20 23:48:14,385 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:14,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:14,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 119 transitions. [2022-02-20 23:48:14,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:14,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 119 transitions. [2022-02-20 23:48:14,387 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 119 transitions. [2022-02-20 23:48:14,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:14,464 INFO L225 Difference]: With dead ends: 117 [2022-02-20 23:48:14,464 INFO L226 Difference]: Without dead ends: 117 [2022-02-20 23:48:14,467 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:48:14,468 INFO L933 BasicCegarLoop]: 83 mSDtfsCounter, 71 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 253 SdHoareTripleChecker+Invalid, 225 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 217 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:14,469 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 253 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 217 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:14,470 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2022-02-20 23:48:14,476 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 100. [2022-02-20 23:48:14,477 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:14,477 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand has 100 states, 84 states have (on average 1.369047619047619) internal successors, (115), 99 states have internal predecessors, (115), 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 23:48:14,477 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand has 100 states, 84 states have (on average 1.369047619047619) internal successors, (115), 99 states have internal predecessors, (115), 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 23:48:14,477 INFO L87 Difference]: Start difference. First operand 117 states. Second operand has 100 states, 84 states have (on average 1.369047619047619) internal successors, (115), 99 states have internal predecessors, (115), 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 23:48:14,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:14,479 INFO L93 Difference]: Finished difference Result 117 states and 132 transitions. [2022-02-20 23:48:14,479 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 132 transitions. [2022-02-20 23:48:14,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:14,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:14,479 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 84 states have (on average 1.369047619047619) internal successors, (115), 99 states have internal predecessors, (115), 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 117 states. [2022-02-20 23:48:14,480 INFO L87 Difference]: Start difference. First operand has 100 states, 84 states have (on average 1.369047619047619) internal successors, (115), 99 states have internal predecessors, (115), 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 117 states. [2022-02-20 23:48:14,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:14,481 INFO L93 Difference]: Finished difference Result 117 states and 132 transitions. [2022-02-20 23:48:14,481 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 132 transitions. [2022-02-20 23:48:14,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:14,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:14,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:14,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:14,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 84 states have (on average 1.369047619047619) internal successors, (115), 99 states have internal predecessors, (115), 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 23:48:14,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 115 transitions. [2022-02-20 23:48:14,483 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 115 transitions. Word has length 22 [2022-02-20 23:48:14,483 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:14,483 INFO L470 AbstractCegarLoop]: Abstraction has 100 states and 115 transitions. [2022-02-20 23:48:14,484 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 6 states have internal predecessors, (22), 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 23:48:14,484 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 115 transitions. [2022-02-20 23:48:14,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:48:14,484 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:14,484 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:14,484 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 23:48:14,484 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr33REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:14,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:14,485 INFO L85 PathProgramCache]: Analyzing trace with hash -1076428849, now seen corresponding path program 1 times [2022-02-20 23:48:14,485 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:14,485 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1030038028] [2022-02-20 23:48:14,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:14,486 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:14,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:14,603 INFO L290 TraceCheckUtils]: 0: Hoare triple {5081#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(16, 2); {5081#true} is VALID [2022-02-20 23:48:14,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {5081#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5083#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:14,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {5083#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {5083#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:14,604 INFO L290 TraceCheckUtils]: 3: Hoare triple {5083#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {5084#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:14,605 INFO L290 TraceCheckUtils]: 4: Hoare triple {5084#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {5085#(and (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 1) |ULTIMATE.start_main_~p~0#1.offset|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:14,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {5085#(and (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 1) |ULTIMATE.start_main_~p~0#1.offset|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {5085#(and (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 1) |ULTIMATE.start_main_~p~0#1.offset|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:14,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {5085#(and (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 1) |ULTIMATE.start_main_~p~0#1.offset|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {5085#(and (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 1) |ULTIMATE.start_main_~p~0#1.offset|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:14,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {5085#(and (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 1) |ULTIMATE.start_main_~p~0#1.offset|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {5085#(and (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 1) |ULTIMATE.start_main_~p~0#1.offset|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:14,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {5085#(and (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 1) |ULTIMATE.start_main_~p~0#1.offset|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:14,608 INFO L290 TraceCheckUtils]: 9: Hoare triple {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:14,609 INFO L290 TraceCheckUtils]: 10: Hoare triple {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:14,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:14,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:14,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {5086#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {5087#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:14,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {5087#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {5087#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:14,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {5087#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {5088#(and (= |ULTIMATE.start_main_#t~mem18#1.offset| 0) (= |ULTIMATE.start_main_#t~mem18#1.base| 0))} is VALID [2022-02-20 23:48:14,611 INFO L290 TraceCheckUtils]: 16: Hoare triple {5088#(and (= |ULTIMATE.start_main_#t~mem18#1.offset| 0) (= |ULTIMATE.start_main_#t~mem18#1.base| 0))} assume !(main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {5082#false} is VALID [2022-02-20 23:48:14,612 INFO L290 TraceCheckUtils]: 17: Hoare triple {5082#false} SUMMARY for call main_#t~mem19#1.base, main_#t~mem19#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L610-3 {5082#false} is VALID [2022-02-20 23:48:14,612 INFO L290 TraceCheckUtils]: 18: Hoare triple {5082#false} assume !!(main_#t~mem19#1.base != 0 || main_#t~mem19#1.offset != 0);havoc main_#t~mem19#1.base, main_#t~mem19#1.offset; {5082#false} is VALID [2022-02-20 23:48:14,612 INFO L290 TraceCheckUtils]: 19: Hoare triple {5082#false} SUMMARY for call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L611 {5082#false} is VALID [2022-02-20 23:48:14,612 INFO L290 TraceCheckUtils]: 20: Hoare triple {5082#false} main_~t~0#1.base, main_~t~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset; {5082#false} is VALID [2022-02-20 23:48:14,612 INFO L290 TraceCheckUtils]: 21: Hoare triple {5082#false} assume 0 == main_~p~0#1.offset; {5082#false} is VALID [2022-02-20 23:48:14,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {5082#false} assume main_~p~0#1.base < #StackHeapBarrier; {5082#false} is VALID [2022-02-20 23:48:14,613 INFO L290 TraceCheckUtils]: 23: Hoare triple {5082#false} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset);main_~p~0#1.base, main_~p~0#1.offset := main_~t~0#1.base, main_~t~0#1.offset; {5082#false} is VALID [2022-02-20 23:48:14,613 INFO L290 TraceCheckUtils]: 24: Hoare triple {5082#false} assume !(1 == #valid[main_~p~0#1.base]); {5082#false} is VALID [2022-02-20 23:48:14,613 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:48:14,613 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:14,613 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1030038028] [2022-02-20 23:48:14,613 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1030038028] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:14,614 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:48:14,614 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 23:48:14,614 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [153793819] [2022-02-20 23:48:14,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:14,614 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 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 25 [2022-02-20 23:48:14,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:14,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 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 23:48:14,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:14,632 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:48:14,632 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:14,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:48:14,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:48:14,633 INFO L87 Difference]: Start difference. First operand 100 states and 115 transitions. Second operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 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 23:48:14,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:14,992 INFO L93 Difference]: Finished difference Result 107 states and 122 transitions. [2022-02-20 23:48:14,992 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:48:14,993 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 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 25 [2022-02-20 23:48:14,993 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:14,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 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 23:48:14,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2022-02-20 23:48:14,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 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 23:48:14,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2022-02-20 23:48:14,994 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 100 transitions. [2022-02-20 23:48:15,066 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:15,067 INFO L225 Difference]: With dead ends: 107 [2022-02-20 23:48:15,067 INFO L226 Difference]: Without dead ends: 98 [2022-02-20 23:48:15,067 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:48:15,068 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 148 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 148 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:15,068 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [148 Valid, 208 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:15,068 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-02-20 23:48:15,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-02-20 23:48:15,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:15,069 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 73 states have (on average 1.4109589041095891) internal successors, (103), 88 states have internal predecessors, (103), 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 23:48:15,070 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 73 states have (on average 1.4109589041095891) internal successors, (103), 88 states have internal predecessors, (103), 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 23:48:15,070 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 73 states have (on average 1.4109589041095891) internal successors, (103), 88 states have internal predecessors, (103), 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 23:48:15,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:15,071 INFO L93 Difference]: Finished difference Result 98 states and 113 transitions. [2022-02-20 23:48:15,071 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 113 transitions. [2022-02-20 23:48:15,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:15,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:15,071 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 73 states have (on average 1.4109589041095891) internal successors, (103), 88 states have internal predecessors, (103), 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 98 states. [2022-02-20 23:48:15,071 INFO L87 Difference]: Start difference. First operand has 89 states, 73 states have (on average 1.4109589041095891) internal successors, (103), 88 states have internal predecessors, (103), 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 98 states. [2022-02-20 23:48:15,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:15,072 INFO L93 Difference]: Finished difference Result 98 states and 113 transitions. [2022-02-20 23:48:15,072 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 113 transitions. [2022-02-20 23:48:15,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:15,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:15,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:15,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:15,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 73 states have (on average 1.4109589041095891) internal successors, (103), 88 states have internal predecessors, (103), 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 23:48:15,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 103 transitions. [2022-02-20 23:48:15,074 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 103 transitions. Word has length 25 [2022-02-20 23:48:15,074 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:15,074 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 103 transitions. [2022-02-20 23:48:15,074 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 8 states have internal predecessors, (25), 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 23:48:15,075 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 103 transitions. [2022-02-20 23:48:15,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 23:48:15,075 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:15,075 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:15,075 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:48:15,075 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:15,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:15,076 INFO L85 PathProgramCache]: Analyzing trace with hash 762143636, now seen corresponding path program 1 times [2022-02-20 23:48:15,076 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:15,076 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1970095477] [2022-02-20 23:48:15,076 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:15,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:15,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:15,140 INFO L290 TraceCheckUtils]: 0: Hoare triple {5487#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(16, 2); {5487#true} is VALID [2022-02-20 23:48:15,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {5487#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5487#true} is VALID [2022-02-20 23:48:15,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {5487#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {5487#true} is VALID [2022-02-20 23:48:15,141 INFO L290 TraceCheckUtils]: 3: Hoare triple {5487#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {5487#true} is VALID [2022-02-20 23:48:15,141 INFO L290 TraceCheckUtils]: 4: Hoare triple {5487#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {5489#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:15,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {5489#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~short5#1 := main_~i~0#1 < 20; {5489#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:15,141 INFO L290 TraceCheckUtils]: 6: Hoare triple {5489#(= |ULTIMATE.start_main_~i~0#1| 0)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {5489#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:15,142 INFO L290 TraceCheckUtils]: 7: Hoare triple {5489#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,142 INFO L290 TraceCheckUtils]: 8: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,143 INFO L290 TraceCheckUtils]: 9: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} havoc main_#t~nondet7#1; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,143 INFO L290 TraceCheckUtils]: 10: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,143 INFO L290 TraceCheckUtils]: 11: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,143 INFO L290 TraceCheckUtils]: 12: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,145 INFO L290 TraceCheckUtils]: 16: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,145 INFO L290 TraceCheckUtils]: 17: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,145 INFO L290 TraceCheckUtils]: 18: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~short5#1 := main_~i~0#1 < 20; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,146 INFO L290 TraceCheckUtils]: 19: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,146 INFO L290 TraceCheckUtils]: 21: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,146 INFO L290 TraceCheckUtils]: 22: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:15,147 INFO L290 TraceCheckUtils]: 23: Hoare triple {5490#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {5491#(and (<= |ULTIMATE.start_main_~i~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} is VALID [2022-02-20 23:48:15,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {5491#(and (<= |ULTIMATE.start_main_~i~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {5492#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:48:15,148 INFO L290 TraceCheckUtils]: 25: Hoare triple {5492#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {5493#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:48:15,148 INFO L290 TraceCheckUtils]: 26: Hoare triple {5493#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {5488#false} is VALID [2022-02-20 23:48:15,148 INFO L290 TraceCheckUtils]: 27: Hoare triple {5488#false} assume !false; {5488#false} is VALID [2022-02-20 23:48:15,149 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:15,149 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:15,149 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1970095477] [2022-02-20 23:48:15,149 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1970095477] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:15,149 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2134364715] [2022-02-20 23:48:15,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:15,149 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:15,150 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:15,176 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 23:48:15,214 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 23:48:15,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:15,283 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:48:15,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:15,297 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:15,454 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 23:48:15,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {5487#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(16, 2); {5487#true} is VALID [2022-02-20 23:48:15,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {5487#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5487#true} is VALID [2022-02-20 23:48:15,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {5487#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {5487#true} is VALID [2022-02-20 23:48:15,467 INFO L290 TraceCheckUtils]: 3: Hoare triple {5487#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {5487#true} is VALID [2022-02-20 23:48:15,468 INFO L290 TraceCheckUtils]: 4: Hoare triple {5487#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {5487#true} is VALID [2022-02-20 23:48:15,468 INFO L290 TraceCheckUtils]: 5: Hoare triple {5487#true} main_#t~short5#1 := main_~i~0#1 < 20; {5487#true} is VALID [2022-02-20 23:48:15,468 INFO L290 TraceCheckUtils]: 6: Hoare triple {5487#true} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {5487#true} is VALID [2022-02-20 23:48:15,468 INFO L290 TraceCheckUtils]: 7: Hoare triple {5487#true} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {5487#true} is VALID [2022-02-20 23:48:15,468 INFO L290 TraceCheckUtils]: 8: Hoare triple {5487#true} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {5487#true} is VALID [2022-02-20 23:48:15,468 INFO L290 TraceCheckUtils]: 9: Hoare triple {5487#true} havoc main_#t~nondet7#1; {5487#true} is VALID [2022-02-20 23:48:15,468 INFO L290 TraceCheckUtils]: 10: Hoare triple {5487#true} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {5487#true} is VALID [2022-02-20 23:48:15,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {5487#true} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {5487#true} is VALID [2022-02-20 23:48:15,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {5487#true} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {5487#true} is VALID [2022-02-20 23:48:15,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {5487#true} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {5487#true} is VALID [2022-02-20 23:48:15,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {5487#true} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {5487#true} is VALID [2022-02-20 23:48:15,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {5487#true} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {5487#true} is VALID [2022-02-20 23:48:15,469 INFO L290 TraceCheckUtils]: 16: Hoare triple {5487#true} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {5487#true} is VALID [2022-02-20 23:48:15,470 INFO L290 TraceCheckUtils]: 17: Hoare triple {5487#true} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {5487#true} is VALID [2022-02-20 23:48:15,470 INFO L290 TraceCheckUtils]: 18: Hoare triple {5487#true} main_#t~short5#1 := main_~i~0#1 < 20; {5551#(or (and (not |ULTIMATE.start_main_#t~short5#1|) (not (< |ULTIMATE.start_main_~i~0#1| 20))) (and (< |ULTIMATE.start_main_~i~0#1| 20) |ULTIMATE.start_main_#t~short5#1|))} is VALID [2022-02-20 23:48:15,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {5551#(or (and (not |ULTIMATE.start_main_#t~short5#1|) (not (< |ULTIMATE.start_main_~i~0#1| 20))) (and (< |ULTIMATE.start_main_~i~0#1| 20) |ULTIMATE.start_main_#t~short5#1|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {5555#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:15,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {5555#(< |ULTIMATE.start_main_~i~0#1| 20)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {5555#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:15,471 INFO L290 TraceCheckUtils]: 21: Hoare triple {5555#(< |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {5555#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:15,471 INFO L290 TraceCheckUtils]: 22: Hoare triple {5555#(< |ULTIMATE.start_main_~i~0#1| 20)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {5555#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:15,472 INFO L290 TraceCheckUtils]: 23: Hoare triple {5555#(< |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {5568#(and (< |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} is VALID [2022-02-20 23:48:15,472 INFO L290 TraceCheckUtils]: 24: Hoare triple {5568#(and (< |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {5572#(and (< |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} is VALID [2022-02-20 23:48:15,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {5572#(and (< |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {5576#(and (< |ULTIMATE.start_main_~i~0#1| 20) (= 3 |ULTIMATE.start_main_#t~mem17#1|))} is VALID [2022-02-20 23:48:15,473 INFO L290 TraceCheckUtils]: 26: Hoare triple {5576#(and (< |ULTIMATE.start_main_~i~0#1| 20) (= 3 |ULTIMATE.start_main_#t~mem17#1|))} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {5488#false} is VALID [2022-02-20 23:48:15,473 INFO L290 TraceCheckUtils]: 27: Hoare triple {5488#false} assume !false; {5488#false} is VALID [2022-02-20 23:48:15,474 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:48:15,474 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:48:15,474 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2134364715] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:48:15,474 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:48:15,474 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [7] total 12 [2022-02-20 23:48:15,474 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [497837384] [2022-02-20 23:48:15,474 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:48:15,475 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 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 28 [2022-02-20 23:48:15,475 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:15,475 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 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 23:48:15,491 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:15,492 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:48:15,492 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:15,492 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:48:15,492 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:48:15,492 INFO L87 Difference]: Start difference. First operand 89 states and 103 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 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 23:48:15,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:15,749 INFO L93 Difference]: Finished difference Result 140 states and 159 transitions. [2022-02-20 23:48:15,749 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:48:15,749 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 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 28 [2022-02-20 23:48:15,749 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:15,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 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 23:48:15,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 128 transitions. [2022-02-20 23:48:15,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 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 23:48:15,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 128 transitions. [2022-02-20 23:48:15,751 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 128 transitions. [2022-02-20 23:48:15,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:15,859 INFO L225 Difference]: With dead ends: 140 [2022-02-20 23:48:15,859 INFO L226 Difference]: Without dead ends: 140 [2022-02-20 23:48:15,859 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:48:15,859 INFO L933 BasicCegarLoop]: 68 mSDtfsCounter, 43 mSDsluCounter, 202 mSDsCounter, 0 mSdLazyCounter, 103 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 103 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:15,860 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 270 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 103 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:15,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-02-20 23:48:15,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 96. [2022-02-20 23:48:15,862 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:15,862 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 96 states, 80 states have (on average 1.3875) internal successors, (111), 95 states have internal predecessors, (111), 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 23:48:15,862 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 96 states, 80 states have (on average 1.3875) internal successors, (111), 95 states have internal predecessors, (111), 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 23:48:15,862 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 96 states, 80 states have (on average 1.3875) internal successors, (111), 95 states have internal predecessors, (111), 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 23:48:15,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:15,864 INFO L93 Difference]: Finished difference Result 140 states and 159 transitions. [2022-02-20 23:48:15,864 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 159 transitions. [2022-02-20 23:48:15,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:15,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:15,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 80 states have (on average 1.3875) internal successors, (111), 95 states have internal predecessors, (111), 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 140 states. [2022-02-20 23:48:15,866 INFO L87 Difference]: Start difference. First operand has 96 states, 80 states have (on average 1.3875) internal successors, (111), 95 states have internal predecessors, (111), 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 140 states. [2022-02-20 23:48:15,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:15,868 INFO L93 Difference]: Finished difference Result 140 states and 159 transitions. [2022-02-20 23:48:15,868 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 159 transitions. [2022-02-20 23:48:15,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:15,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:15,869 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:15,869 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:15,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 80 states have (on average 1.3875) internal successors, (111), 95 states have internal predecessors, (111), 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 23:48:15,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 111 transitions. [2022-02-20 23:48:15,870 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 111 transitions. Word has length 28 [2022-02-20 23:48:15,871 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:15,871 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 111 transitions. [2022-02-20 23:48:15,871 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 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 23:48:15,871 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 111 transitions. [2022-02-20 23:48:15,871 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 23:48:15,872 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:15,872 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:15,903 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 23:48:16,089 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-02-20 23:48:16,089 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:16,089 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:16,089 INFO L85 PathProgramCache]: Analyzing trace with hash 1442202006, now seen corresponding path program 1 times [2022-02-20 23:48:16,089 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:16,089 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [170726524] [2022-02-20 23:48:16,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:16,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:16,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:16,194 INFO L290 TraceCheckUtils]: 0: Hoare triple {6102#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(16, 2); {6102#true} is VALID [2022-02-20 23:48:16,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {6102#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {6102#true} is VALID [2022-02-20 23:48:16,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {6102#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {6102#true} is VALID [2022-02-20 23:48:16,195 INFO L290 TraceCheckUtils]: 3: Hoare triple {6102#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {6102#true} is VALID [2022-02-20 23:48:16,195 INFO L290 TraceCheckUtils]: 4: Hoare triple {6102#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {6104#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:16,196 INFO L290 TraceCheckUtils]: 5: Hoare triple {6104#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~short5#1 := main_~i~0#1 < 20; {6104#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:16,196 INFO L290 TraceCheckUtils]: 6: Hoare triple {6104#(= |ULTIMATE.start_main_~i~0#1| 0)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {6104#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:16,197 INFO L290 TraceCheckUtils]: 7: Hoare triple {6104#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,197 INFO L290 TraceCheckUtils]: 8: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,197 INFO L290 TraceCheckUtils]: 9: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} havoc main_#t~nondet7#1; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,198 INFO L290 TraceCheckUtils]: 10: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,198 INFO L290 TraceCheckUtils]: 11: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,198 INFO L290 TraceCheckUtils]: 12: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,199 INFO L290 TraceCheckUtils]: 13: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,200 INFO L290 TraceCheckUtils]: 16: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,200 INFO L290 TraceCheckUtils]: 17: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~short5#1 := main_~i~0#1 < 20; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,205 INFO L290 TraceCheckUtils]: 19: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !main_#t~short5#1; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,206 INFO L290 TraceCheckUtils]: 21: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,207 INFO L290 TraceCheckUtils]: 22: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,207 INFO L290 TraceCheckUtils]: 23: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {6106#(and (<= |ULTIMATE.start_main_~i~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} is VALID [2022-02-20 23:48:16,208 INFO L290 TraceCheckUtils]: 24: Hoare triple {6106#(and (<= |ULTIMATE.start_main_~i~0#1| 1) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {6107#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:48:16,208 INFO L290 TraceCheckUtils]: 25: Hoare triple {6107#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {6108#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:48:16,209 INFO L290 TraceCheckUtils]: 26: Hoare triple {6108#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {6103#false} is VALID [2022-02-20 23:48:16,209 INFO L290 TraceCheckUtils]: 27: Hoare triple {6103#false} assume !false; {6103#false} is VALID [2022-02-20 23:48:16,209 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:16,209 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:16,210 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [170726524] [2022-02-20 23:48:16,210 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [170726524] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:16,210 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [81205537] [2022-02-20 23:48:16,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:16,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:16,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:16,223 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 23:48:16,248 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 23:48:16,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:16,339 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:48:16,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:16,348 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:16,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {6102#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(16, 2); {6102#true} is VALID [2022-02-20 23:48:16,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {6102#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {6102#true} is VALID [2022-02-20 23:48:16,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {6102#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {6102#true} is VALID [2022-02-20 23:48:16,462 INFO L290 TraceCheckUtils]: 3: Hoare triple {6102#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {6102#true} is VALID [2022-02-20 23:48:16,463 INFO L290 TraceCheckUtils]: 4: Hoare triple {6102#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {6124#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:16,463 INFO L290 TraceCheckUtils]: 5: Hoare triple {6124#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~short5#1 := main_~i~0#1 < 20; {6124#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:16,463 INFO L290 TraceCheckUtils]: 6: Hoare triple {6124#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {6124#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:16,464 INFO L290 TraceCheckUtils]: 7: Hoare triple {6124#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} havoc main_#t~nondet7#1; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,465 INFO L290 TraceCheckUtils]: 10: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,467 INFO L290 TraceCheckUtils]: 14: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,467 INFO L290 TraceCheckUtils]: 15: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,467 INFO L290 TraceCheckUtils]: 16: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,468 INFO L290 TraceCheckUtils]: 17: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:16,468 INFO L290 TraceCheckUtils]: 18: Hoare triple {6105#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~short5#1 := main_~i~0#1 < 20; {6167#|ULTIMATE.start_main_#t~short5#1|} is VALID [2022-02-20 23:48:16,469 INFO L290 TraceCheckUtils]: 19: Hoare triple {6167#|ULTIMATE.start_main_#t~short5#1|} assume !main_#t~short5#1; {6103#false} is VALID [2022-02-20 23:48:16,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {6103#false} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {6103#false} is VALID [2022-02-20 23:48:16,469 INFO L290 TraceCheckUtils]: 21: Hoare triple {6103#false} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {6103#false} is VALID [2022-02-20 23:48:16,469 INFO L290 TraceCheckUtils]: 22: Hoare triple {6103#false} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {6103#false} is VALID [2022-02-20 23:48:16,469 INFO L290 TraceCheckUtils]: 23: Hoare triple {6103#false} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {6103#false} is VALID [2022-02-20 23:48:16,469 INFO L290 TraceCheckUtils]: 24: Hoare triple {6103#false} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {6103#false} is VALID [2022-02-20 23:48:16,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {6103#false} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {6103#false} is VALID [2022-02-20 23:48:16,470 INFO L290 TraceCheckUtils]: 26: Hoare triple {6103#false} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {6103#false} is VALID [2022-02-20 23:48:16,470 INFO L290 TraceCheckUtils]: 27: Hoare triple {6103#false} assume !false; {6103#false} is VALID [2022-02-20 23:48:16,470 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:16,470 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:16,612 INFO L290 TraceCheckUtils]: 27: Hoare triple {6103#false} assume !false; {6103#false} is VALID [2022-02-20 23:48:16,612 INFO L290 TraceCheckUtils]: 26: Hoare triple {6103#false} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {6103#false} is VALID [2022-02-20 23:48:16,612 INFO L290 TraceCheckUtils]: 25: Hoare triple {6103#false} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {6103#false} is VALID [2022-02-20 23:48:16,613 INFO L290 TraceCheckUtils]: 24: Hoare triple {6103#false} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {6103#false} is VALID [2022-02-20 23:48:16,613 INFO L290 TraceCheckUtils]: 23: Hoare triple {6103#false} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {6103#false} is VALID [2022-02-20 23:48:16,613 INFO L290 TraceCheckUtils]: 22: Hoare triple {6103#false} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {6103#false} is VALID [2022-02-20 23:48:16,613 INFO L290 TraceCheckUtils]: 21: Hoare triple {6103#false} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {6103#false} is VALID [2022-02-20 23:48:16,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {6103#false} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {6103#false} is VALID [2022-02-20 23:48:16,613 INFO L290 TraceCheckUtils]: 19: Hoare triple {6167#|ULTIMATE.start_main_#t~short5#1|} assume !main_#t~short5#1; {6103#false} is VALID [2022-02-20 23:48:16,614 INFO L290 TraceCheckUtils]: 18: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} main_#t~short5#1 := main_~i~0#1 < 20; {6167#|ULTIMATE.start_main_#t~short5#1|} is VALID [2022-02-20 23:48:16,614 INFO L290 TraceCheckUtils]: 17: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,614 INFO L290 TraceCheckUtils]: 16: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,615 INFO L290 TraceCheckUtils]: 14: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,615 INFO L290 TraceCheckUtils]: 13: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,616 INFO L290 TraceCheckUtils]: 10: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} havoc main_#t~nondet7#1; {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,617 INFO L290 TraceCheckUtils]: 7: Hoare triple {6256#(< |ULTIMATE.start_main_~i~0#1| 19)} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {6222#(< |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:16,618 INFO L290 TraceCheckUtils]: 6: Hoare triple {6256#(< |ULTIMATE.start_main_~i~0#1| 19)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {6256#(< |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:16,618 INFO L290 TraceCheckUtils]: 5: Hoare triple {6256#(< |ULTIMATE.start_main_~i~0#1| 19)} main_#t~short5#1 := main_~i~0#1 < 20; {6256#(< |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:16,618 INFO L290 TraceCheckUtils]: 4: Hoare triple {6102#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {6256#(< |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:16,619 INFO L290 TraceCheckUtils]: 3: Hoare triple {6102#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {6102#true} is VALID [2022-02-20 23:48:16,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {6102#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {6102#true} is VALID [2022-02-20 23:48:16,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {6102#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {6102#true} is VALID [2022-02-20 23:48:16,619 INFO L290 TraceCheckUtils]: 0: Hoare triple {6102#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(16, 2); {6102#true} is VALID [2022-02-20 23:48:16,619 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:16,619 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [81205537] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:16,620 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:16,620 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 11 [2022-02-20 23:48:16,620 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1200759193] [2022-02-20 23:48:16,620 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:16,620 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 11 states have internal predecessors, (56), 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 28 [2022-02-20 23:48:16,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:16,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 11 states have internal predecessors, (56), 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 23:48:16,674 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:16,674 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:48:16,675 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:16,675 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:48:16,675 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=72, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:48:16,676 INFO L87 Difference]: Start difference. First operand 96 states and 111 transitions. Second operand has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 11 states have internal predecessors, (56), 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 23:48:17,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:17,284 INFO L93 Difference]: Finished difference Result 324 states and 370 transitions. [2022-02-20 23:48:17,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:48:17,284 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 11 states have internal predecessors, (56), 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 28 [2022-02-20 23:48:17,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:17,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 11 states have internal predecessors, (56), 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 23:48:17,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 284 transitions. [2022-02-20 23:48:17,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 11 states have internal predecessors, (56), 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 23:48:17,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 284 transitions. [2022-02-20 23:48:17,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 284 transitions. [2022-02-20 23:48:17,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 284 edges. 284 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:17,447 INFO L225 Difference]: With dead ends: 324 [2022-02-20 23:48:17,447 INFO L226 Difference]: Without dead ends: 324 [2022-02-20 23:48:17,447 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=74, Invalid=166, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:48:17,448 INFO L933 BasicCegarLoop]: 67 mSDtfsCounter, 221 mSDsluCounter, 492 mSDsCounter, 0 mSdLazyCounter, 161 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 221 SdHoareTripleChecker+Valid, 559 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 161 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:17,448 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [221 Valid, 559 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 161 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:17,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 324 states. [2022-02-20 23:48:17,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 324 to 137. [2022-02-20 23:48:17,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:17,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 324 states. Second operand has 137 states, 121 states have (on average 1.2975206611570247) internal successors, (157), 136 states have internal predecessors, (157), 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 23:48:17,451 INFO L74 IsIncluded]: Start isIncluded. First operand 324 states. Second operand has 137 states, 121 states have (on average 1.2975206611570247) internal successors, (157), 136 states have internal predecessors, (157), 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 23:48:17,451 INFO L87 Difference]: Start difference. First operand 324 states. Second operand has 137 states, 121 states have (on average 1.2975206611570247) internal successors, (157), 136 states have internal predecessors, (157), 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 23:48:17,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:17,455 INFO L93 Difference]: Finished difference Result 324 states and 370 transitions. [2022-02-20 23:48:17,455 INFO L276 IsEmpty]: Start isEmpty. Operand 324 states and 370 transitions. [2022-02-20 23:48:17,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:17,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:17,456 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 121 states have (on average 1.2975206611570247) internal successors, (157), 136 states have internal predecessors, (157), 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 324 states. [2022-02-20 23:48:17,456 INFO L87 Difference]: Start difference. First operand has 137 states, 121 states have (on average 1.2975206611570247) internal successors, (157), 136 states have internal predecessors, (157), 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 324 states. [2022-02-20 23:48:17,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:17,460 INFO L93 Difference]: Finished difference Result 324 states and 370 transitions. [2022-02-20 23:48:17,460 INFO L276 IsEmpty]: Start isEmpty. Operand 324 states and 370 transitions. [2022-02-20 23:48:17,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:17,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:17,461 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:17,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:17,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 121 states have (on average 1.2975206611570247) internal successors, (157), 136 states have internal predecessors, (157), 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 23:48:17,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 157 transitions. [2022-02-20 23:48:17,462 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 157 transitions. Word has length 28 [2022-02-20 23:48:17,462 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:17,462 INFO L470 AbstractCegarLoop]: Abstraction has 137 states and 157 transitions. [2022-02-20 23:48:17,465 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 5.090909090909091) internal successors, (56), 11 states have internal predecessors, (56), 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 23:48:17,465 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 157 transitions. [2022-02-20 23:48:17,465 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:48:17,466 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:17,466 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:17,497 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 23:48:17,681 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,SelfDestructingSolverStorable12 [2022-02-20 23:48:17,682 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:17,682 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:17,682 INFO L85 PathProgramCache]: Analyzing trace with hash -1992394589, now seen corresponding path program 1 times [2022-02-20 23:48:17,682 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:17,682 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631563829] [2022-02-20 23:48:17,682 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:17,682 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:17,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:17,831 INFO L290 TraceCheckUtils]: 0: Hoare triple {7396#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(16, 2); {7396#true} is VALID [2022-02-20 23:48:17,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {7396#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {7396#true} is VALID [2022-02-20 23:48:17,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {7396#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {7396#true} is VALID [2022-02-20 23:48:17,832 INFO L290 TraceCheckUtils]: 3: Hoare triple {7396#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {7396#true} is VALID [2022-02-20 23:48:17,832 INFO L290 TraceCheckUtils]: 4: Hoare triple {7396#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {7398#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:17,833 INFO L290 TraceCheckUtils]: 5: Hoare triple {7398#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {7398#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:17,833 INFO L290 TraceCheckUtils]: 6: Hoare triple {7398#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {7398#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:17,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {7398#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {7398#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:17,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {7398#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {7399#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:17,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {7399#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {7399#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:17,835 INFO L290 TraceCheckUtils]: 10: Hoare triple {7399#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {7399#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:17,835 INFO L290 TraceCheckUtils]: 11: Hoare triple {7399#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {7399#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:17,836 INFO L290 TraceCheckUtils]: 12: Hoare triple {7399#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {7400#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:17,836 INFO L290 TraceCheckUtils]: 13: Hoare triple {7400#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {7401#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:17,837 INFO L290 TraceCheckUtils]: 14: Hoare triple {7401#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {7401#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:17,838 INFO L290 TraceCheckUtils]: 15: Hoare triple {7401#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {7402#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:17,839 INFO L290 TraceCheckUtils]: 16: Hoare triple {7402#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {7403#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:17,839 INFO L290 TraceCheckUtils]: 17: Hoare triple {7403#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {7404#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:17,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {7404#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {7404#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:17,840 INFO L290 TraceCheckUtils]: 19: Hoare triple {7404#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {7404#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:17,840 INFO L290 TraceCheckUtils]: 20: Hoare triple {7404#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {7404#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:17,841 INFO L290 TraceCheckUtils]: 21: Hoare triple {7404#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {7405#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2)} is VALID [2022-02-20 23:48:17,841 INFO L290 TraceCheckUtils]: 22: Hoare triple {7405#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:17,842 INFO L290 TraceCheckUtils]: 23: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:17,842 INFO L290 TraceCheckUtils]: 24: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:17,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:17,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:17,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {7407#(= 2 |ULTIMATE.start_main_#t~mem14#1|)} is VALID [2022-02-20 23:48:17,844 INFO L290 TraceCheckUtils]: 28: Hoare triple {7407#(= 2 |ULTIMATE.start_main_#t~mem14#1|)} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {7397#false} is VALID [2022-02-20 23:48:17,844 INFO L290 TraceCheckUtils]: 29: Hoare triple {7397#false} assume !false; {7397#false} is VALID [2022-02-20 23:48:17,844 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:17,844 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:17,844 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1631563829] [2022-02-20 23:48:17,844 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1631563829] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:17,844 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1729656259] [2022-02-20 23:48:17,844 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:17,844 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:17,845 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:17,845 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 23:48:17,847 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 23:48:17,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:17,926 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 35 conjunts are in the unsatisfiable core [2022-02-20 23:48:17,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:17,935 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:18,070 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 11 treesize of output 7 [2022-02-20 23:48:18,111 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:48:18,111 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 11 treesize of output 11 [2022-02-20 23:48:18,184 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:48:18,185 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 21 treesize of output 20 [2022-02-20 23:48:18,198 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 13 treesize of output 9 [2022-02-20 23:48:18,230 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 20 treesize of output 8 [2022-02-20 23:48:18,316 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 14 treesize of output 16 [2022-02-20 23:48:18,397 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 23:48:18,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {7396#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(16, 2); {7396#true} is VALID [2022-02-20 23:48:18,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {7396#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {7414#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:18,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {7414#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {7414#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:18,401 INFO L290 TraceCheckUtils]: 3: Hoare triple {7414#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {7414#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:18,402 INFO L290 TraceCheckUtils]: 4: Hoare triple {7414#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {7424#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:18,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {7424#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {7424#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:18,403 INFO L290 TraceCheckUtils]: 6: Hoare triple {7424#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {7424#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:18,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {7424#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {7424#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:18,406 INFO L290 TraceCheckUtils]: 8: Hoare triple {7424#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {7437#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:18,406 INFO L290 TraceCheckUtils]: 9: Hoare triple {7437#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {7437#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:18,407 INFO L290 TraceCheckUtils]: 10: Hoare triple {7437#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {7437#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:18,407 INFO L290 TraceCheckUtils]: 11: Hoare triple {7437#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {7437#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:18,408 INFO L290 TraceCheckUtils]: 12: Hoare triple {7437#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {7450#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:18,408 INFO L290 TraceCheckUtils]: 13: Hoare triple {7450#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {7454#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:18,409 INFO L290 TraceCheckUtils]: 14: Hoare triple {7454#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {7454#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:18,410 INFO L290 TraceCheckUtils]: 15: Hoare triple {7454#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {7461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:18,410 INFO L290 TraceCheckUtils]: 16: Hoare triple {7461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {7465#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:18,412 INFO L290 TraceCheckUtils]: 17: Hoare triple {7465#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {7469#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:18,413 INFO L290 TraceCheckUtils]: 18: Hoare triple {7469#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {7469#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:18,413 INFO L290 TraceCheckUtils]: 19: Hoare triple {7469#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {7469#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:18,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {7469#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {7469#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:18,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {7469#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {7482#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:18,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {7482#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} is VALID [2022-02-20 23:48:18,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} is VALID [2022-02-20 23:48:18,416 INFO L290 TraceCheckUtils]: 24: Hoare triple {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} is VALID [2022-02-20 23:48:18,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} is VALID [2022-02-20 23:48:18,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} is VALID [2022-02-20 23:48:18,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {7486#(and (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 2))} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {7407#(= 2 |ULTIMATE.start_main_#t~mem14#1|)} is VALID [2022-02-20 23:48:18,417 INFO L290 TraceCheckUtils]: 28: Hoare triple {7407#(= 2 |ULTIMATE.start_main_#t~mem14#1|)} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {7397#false} is VALID [2022-02-20 23:48:18,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {7397#false} assume !false; {7397#false} is VALID [2022-02-20 23:48:18,418 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:18,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:18,448 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |c_ULTIMATE.start_main_~a~0#1.base|) |c_ULTIMATE.start_main_~a~0#1.offset|))) is different from false [2022-02-20 23:48:18,473 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_359 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_359) |c_ULTIMATE.start_main_~a~0#1.base|) |c_ULTIMATE.start_main_~a~0#1.offset|) 2)) is different from false [2022-02-20 23:48:18,480 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |c_#memory_int| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_359) |c_ULTIMATE.start_main_~a~0#1.base|) |c_ULTIMATE.start_main_~a~0#1.offset|))) is different from false [2022-02-20 23:48:18,499 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_359 (Array Int Int)) (v_ArrVal_356 Int)) (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_356)) |c_ULTIMATE.start_main_~t~0#1.base| v_ArrVal_359) |c_ULTIMATE.start_main_~a~0#1.base|) |c_ULTIMATE.start_main_~a~0#1.offset|) 2)) is different from false [2022-02-20 23:48:18,653 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:48:18,656 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:18,656 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 1 new quantified variables, introduced 2 case distinctions, treesize of input 23 treesize of output 29 [2022-02-20 23:48:18,695 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:18,695 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 30 treesize of output 33 [2022-02-20 23:48:18,710 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 9 treesize of output 7 [2022-02-20 23:48:18,925 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:48:18,925 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 13 treesize of output 12 [2022-02-20 23:48:18,990 INFO L290 TraceCheckUtils]: 29: Hoare triple {7397#false} assume !false; {7397#false} is VALID [2022-02-20 23:48:18,991 INFO L290 TraceCheckUtils]: 28: Hoare triple {7407#(= 2 |ULTIMATE.start_main_#t~mem14#1|)} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {7397#false} is VALID [2022-02-20 23:48:18,991 INFO L290 TraceCheckUtils]: 27: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {7407#(= 2 |ULTIMATE.start_main_#t~mem14#1|)} is VALID [2022-02-20 23:48:18,993 INFO L290 TraceCheckUtils]: 26: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:18,993 INFO L290 TraceCheckUtils]: 25: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:18,994 INFO L290 TraceCheckUtils]: 24: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:18,994 INFO L290 TraceCheckUtils]: 23: Hoare triple {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:18,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {7405#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {7406#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:18,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {7532#(forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {7405#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2)} is VALID [2022-02-20 23:48:19,001 INFO L290 TraceCheckUtils]: 20: Hoare triple {7532#(forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {7532#(forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:48:19,001 INFO L290 TraceCheckUtils]: 19: Hoare triple {7532#(forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {7532#(forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:48:19,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {7532#(forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~short5#1 := main_~i~0#1 < 20; {7532#(forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:48:19,002 INFO L290 TraceCheckUtils]: 17: Hoare triple {7545#(forall ((v_ArrVal_359 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {7532#(forall ((v_ArrVal_359 (Array Int Int))) (= 2 (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:48:19,002 INFO L290 TraceCheckUtils]: 16: Hoare triple {7549#(forall ((v_ArrVal_359 (Array Int Int))) (= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {7545#(forall ((v_ArrVal_359 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2))} is VALID [2022-02-20 23:48:19,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {7553#(forall ((v_ArrVal_359 (Array Int Int)) (v_ArrVal_356 Int)) (= 2 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_356)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {7549#(forall ((v_ArrVal_359 (Array Int Int))) (= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2))} is VALID [2022-02-20 23:48:19,004 INFO L290 TraceCheckUtils]: 14: Hoare triple {7553#(forall ((v_ArrVal_359 (Array Int Int)) (v_ArrVal_356 Int)) (= 2 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_356)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {7553#(forall ((v_ArrVal_359 (Array Int Int)) (v_ArrVal_356 Int)) (= 2 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_356)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:48:19,010 WARN L290 TraceCheckUtils]: 13: Hoare triple {7560#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (forall ((v_ArrVal_359 (Array Int Int)) (v_ArrVal_356 Int)) (= 2 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_356)) |v_ULTIMATE.start_main_~t~0#1.base_10| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {7553#(forall ((v_ArrVal_359 (Array Int Int)) (v_ArrVal_356 Int)) (= 2 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_356)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))} is UNKNOWN [2022-02-20 23:48:19,011 INFO L290 TraceCheckUtils]: 12: Hoare triple {7564#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_10| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {7560#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (forall ((v_ArrVal_359 (Array Int Int)) (v_ArrVal_356 Int)) (= 2 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_356)) |v_ULTIMATE.start_main_~t~0#1.base_10| v_ArrVal_359) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|)))))} is VALID [2022-02-20 23:48:19,012 INFO L290 TraceCheckUtils]: 11: Hoare triple {7564#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_10| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {7564#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_10| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:19,013 INFO L290 TraceCheckUtils]: 10: Hoare triple {7564#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_10| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {7564#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_10| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:19,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {7564#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_10| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} havoc main_#t~nondet7#1; {7564#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_10| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:19,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {7577#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {7564#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_10| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_10|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_10| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:19,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {7577#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {7577#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:19,015 INFO L290 TraceCheckUtils]: 6: Hoare triple {7577#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {7577#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:19,015 INFO L290 TraceCheckUtils]: 5: Hoare triple {7577#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {7577#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:19,016 INFO L290 TraceCheckUtils]: 4: Hoare triple {7396#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {7577#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:19,016 INFO L290 TraceCheckUtils]: 3: Hoare triple {7396#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {7396#true} is VALID [2022-02-20 23:48:19,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {7396#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {7396#true} is VALID [2022-02-20 23:48:19,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {7396#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {7396#true} is VALID [2022-02-20 23:48:19,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {7396#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(16, 2); {7396#true} is VALID [2022-02-20 23:48:19,016 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 23:48:19,016 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1729656259] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:19,017 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:19,017 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13, 12] total 29 [2022-02-20 23:48:19,017 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1890398461] [2022-02-20 23:48:19,017 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:19,017 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 30 [2022-02-20 23:48:19,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:19,017 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:19,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 73 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:19,082 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-02-20 23:48:19,082 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:19,082 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-02-20 23:48:19,082 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=485, Unknown=4, NotChecked=196, Total=812 [2022-02-20 23:48:19,083 INFO L87 Difference]: Start difference. First operand 137 states and 157 transitions. Second operand has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:20,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:20,503 INFO L93 Difference]: Finished difference Result 260 states and 288 transitions. [2022-02-20 23:48:20,503 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 23:48:20,504 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 30 [2022-02-20 23:48:20,504 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:20,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:20,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 235 transitions. [2022-02-20 23:48:20,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:20,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 235 transitions. [2022-02-20 23:48:20,506 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 235 transitions. [2022-02-20 23:48:20,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 235 edges. 234 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:20,656 INFO L225 Difference]: With dead ends: 260 [2022-02-20 23:48:20,656 INFO L226 Difference]: Without dead ends: 260 [2022-02-20 23:48:20,657 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 43 SyntacticMatches, 3 SemanticMatches, 32 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 244 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=207, Invalid=675, Unknown=4, NotChecked=236, Total=1122 [2022-02-20 23:48:20,657 INFO L933 BasicCegarLoop]: 53 mSDtfsCounter, 400 mSDsluCounter, 615 mSDsCounter, 0 mSdLazyCounter, 546 mSolverCounterSat, 92 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 400 SdHoareTripleChecker+Valid, 668 SdHoareTripleChecker+Invalid, 1588 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 92 IncrementalHoareTripleChecker+Valid, 546 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 950 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:20,657 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [400 Valid, 668 Invalid, 1588 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [92 Valid, 546 Invalid, 0 Unknown, 950 Unchecked, 0.5s Time] [2022-02-20 23:48:20,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states. [2022-02-20 23:48:20,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 153. [2022-02-20 23:48:20,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:20,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 260 states. Second operand has 153 states, 137 states have (on average 1.2846715328467153) internal successors, (176), 152 states have internal predecessors, (176), 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 23:48:20,661 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand has 153 states, 137 states have (on average 1.2846715328467153) internal successors, (176), 152 states have internal predecessors, (176), 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 23:48:20,661 INFO L87 Difference]: Start difference. First operand 260 states. Second operand has 153 states, 137 states have (on average 1.2846715328467153) internal successors, (176), 152 states have internal predecessors, (176), 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 23:48:20,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:20,665 INFO L93 Difference]: Finished difference Result 260 states and 288 transitions. [2022-02-20 23:48:20,665 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 288 transitions. [2022-02-20 23:48:20,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:20,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:20,666 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 137 states have (on average 1.2846715328467153) internal successors, (176), 152 states have internal predecessors, (176), 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 260 states. [2022-02-20 23:48:20,668 INFO L87 Difference]: Start difference. First operand has 153 states, 137 states have (on average 1.2846715328467153) internal successors, (176), 152 states have internal predecessors, (176), 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 260 states. [2022-02-20 23:48:20,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:20,672 INFO L93 Difference]: Finished difference Result 260 states and 288 transitions. [2022-02-20 23:48:20,672 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 288 transitions. [2022-02-20 23:48:20,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:20,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:20,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:20,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:20,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 137 states have (on average 1.2846715328467153) internal successors, (176), 152 states have internal predecessors, (176), 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 23:48:20,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 176 transitions. [2022-02-20 23:48:20,674 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 176 transitions. Word has length 30 [2022-02-20 23:48:20,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:20,674 INFO L470 AbstractCegarLoop]: Abstraction has 153 states and 176 transitions. [2022-02-20 23:48:20,674 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:20,674 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 176 transitions. [2022-02-20 23:48:20,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:48:20,675 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:20,675 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:20,693 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 23:48:20,891 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:20,891 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:20,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:20,892 INFO L85 PathProgramCache]: Analyzing trace with hash -1992702419, now seen corresponding path program 1 times [2022-02-20 23:48:20,892 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:20,892 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1107863320] [2022-02-20 23:48:20,892 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:20,892 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:20,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:21,104 INFO L290 TraceCheckUtils]: 0: Hoare triple {8547#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(16, 2); {8547#true} is VALID [2022-02-20 23:48:21,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {8547#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {8549#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:21,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {8549#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {8549#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:21,105 INFO L290 TraceCheckUtils]: 3: Hoare triple {8549#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {8549#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:21,106 INFO L290 TraceCheckUtils]: 4: Hoare triple {8549#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {8550#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {8550#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {8550#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,106 INFO L290 TraceCheckUtils]: 6: Hoare triple {8550#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {8550#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {8550#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {8550#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {8550#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {8551#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:21,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {8551#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {8551#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:21,108 INFO L290 TraceCheckUtils]: 10: Hoare triple {8551#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {8552#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem8#1| (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:21,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {8552#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem8#1| (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {8553#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:21,109 INFO L290 TraceCheckUtils]: 12: Hoare triple {8553#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {8553#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:21,110 INFO L290 TraceCheckUtils]: 13: Hoare triple {8553#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {8554#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,110 INFO L290 TraceCheckUtils]: 14: Hoare triple {8554#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {8554#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,111 INFO L290 TraceCheckUtils]: 15: Hoare triple {8554#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {8555#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,111 INFO L290 TraceCheckUtils]: 16: Hoare triple {8555#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {8556#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:21,112 INFO L290 TraceCheckUtils]: 17: Hoare triple {8556#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,112 INFO L290 TraceCheckUtils]: 18: Hoare triple {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} main_#t~short5#1 := main_~i~0#1 < 20; {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,113 INFO L290 TraceCheckUtils]: 19: Hoare triple {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {8558#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,114 INFO L290 TraceCheckUtils]: 22: Hoare triple {8558#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,115 INFO L290 TraceCheckUtils]: 24: Hoare triple {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,115 INFO L290 TraceCheckUtils]: 25: Hoare triple {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {8560#(and (= |ULTIMATE.start_main_#t~mem12#1| 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,116 INFO L290 TraceCheckUtils]: 26: Hoare triple {8560#(and (= |ULTIMATE.start_main_#t~mem12#1| 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume 0 != main_#t~mem12#1;havoc main_#t~mem12#1; {8548#false} is VALID [2022-02-20 23:48:21,116 INFO L290 TraceCheckUtils]: 27: Hoare triple {8548#false} SUMMARY for call main_#t~mem13#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L590 {8548#false} is VALID [2022-02-20 23:48:21,116 INFO L290 TraceCheckUtils]: 28: Hoare triple {8548#false} assume 1 != main_#t~mem13#1;havoc main_#t~mem13#1; {8548#false} is VALID [2022-02-20 23:48:21,116 INFO L290 TraceCheckUtils]: 29: Hoare triple {8548#false} assume !false; {8548#false} is VALID [2022-02-20 23:48:21,116 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:21,116 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:21,116 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1107863320] [2022-02-20 23:48:21,116 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1107863320] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:21,116 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1997685489] [2022-02-20 23:48:21,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:21,117 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:21,117 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:21,118 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 23:48:21,119 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 23:48:21,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:21,193 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 36 conjunts are in the unsatisfiable core [2022-02-20 23:48:21,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:21,203 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:21,272 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 23:48:21,405 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:48:21,406 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 21 treesize of output 20 [2022-02-20 23:48:21,440 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:48:21,440 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 11 treesize of output 11 [2022-02-20 23:48:21,499 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 13 treesize of output 9 [2022-02-20 23:48:21,508 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:48:21,508 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 23 treesize of output 22 [2022-02-20 23:48:21,525 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 16 treesize of output 8 [2022-02-20 23:48:21,593 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 14 treesize of output 16 [2022-02-20 23:48:21,642 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 23:48:21,657 INFO L290 TraceCheckUtils]: 0: Hoare triple {8547#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(16, 2); {8547#true} is VALID [2022-02-20 23:48:21,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {8547#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {8567#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:21,658 INFO L290 TraceCheckUtils]: 2: Hoare triple {8567#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {8567#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:21,659 INFO L290 TraceCheckUtils]: 3: Hoare triple {8567#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {8567#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:21,659 INFO L290 TraceCheckUtils]: 4: Hoare triple {8567#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {8577#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,659 INFO L290 TraceCheckUtils]: 5: Hoare triple {8577#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {8577#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,660 INFO L290 TraceCheckUtils]: 6: Hoare triple {8577#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {8577#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {8577#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {8577#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {8577#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {8590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {8590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} havoc main_#t~nondet7#1; {8590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,662 INFO L290 TraceCheckUtils]: 10: Hoare triple {8590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {8597#(and (= |ULTIMATE.start_main_#t~mem8#1| (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4))) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {8597#(and (= |ULTIMATE.start_main_#t~mem8#1| (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4))) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {8601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,663 INFO L290 TraceCheckUtils]: 12: Hoare triple {8601#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {8553#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:21,663 INFO L290 TraceCheckUtils]: 13: Hoare triple {8553#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {8554#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {8554#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {8554#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {8554#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {8555#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {8555#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {8556#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:21,666 INFO L290 TraceCheckUtils]: 17: Hoare triple {8556#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,666 INFO L290 TraceCheckUtils]: 18: Hoare triple {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} main_#t~short5#1 := main_~i~0#1 < 20; {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,666 INFO L290 TraceCheckUtils]: 19: Hoare triple {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,667 INFO L290 TraceCheckUtils]: 21: Hoare triple {8557#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {8558#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} is VALID [2022-02-20 23:48:21,668 INFO L290 TraceCheckUtils]: 22: Hoare triple {8558#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4)))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,668 INFO L290 TraceCheckUtils]: 23: Hoare triple {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,669 INFO L290 TraceCheckUtils]: 24: Hoare triple {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:21,669 INFO L290 TraceCheckUtils]: 25: Hoare triple {8559#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {8644#(= |ULTIMATE.start_main_#t~mem12#1| 0)} is VALID [2022-02-20 23:48:21,669 INFO L290 TraceCheckUtils]: 26: Hoare triple {8644#(= |ULTIMATE.start_main_#t~mem12#1| 0)} assume 0 != main_#t~mem12#1;havoc main_#t~mem12#1; {8548#false} is VALID [2022-02-20 23:48:21,669 INFO L290 TraceCheckUtils]: 27: Hoare triple {8548#false} SUMMARY for call main_#t~mem13#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L590 {8548#false} is VALID [2022-02-20 23:48:21,670 INFO L290 TraceCheckUtils]: 28: Hoare triple {8548#false} assume 1 != main_#t~mem13#1;havoc main_#t~mem13#1; {8548#false} is VALID [2022-02-20 23:48:21,670 INFO L290 TraceCheckUtils]: 29: Hoare triple {8548#false} assume !false; {8548#false} is VALID [2022-02-20 23:48:21,670 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:21,670 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:21,717 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |c_ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) is different from false [2022-02-20 23:48:21,735 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_436) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |c_ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) is different from false [2022-02-20 23:48:21,741 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |c_#memory_int| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_436) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |c_ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) is different from false [2022-02-20 23:48:21,763 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int))) (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |c_ULTIMATE.start_main_~t~0#1.base| v_ArrVal_436) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |c_ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) is different from false [2022-02-20 23:48:22,367 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:48:22,368 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:48:22,368 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:48:22,372 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:22,372 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 1 new quantified variables, introduced 3 case distinctions, treesize of input 30 treesize of output 41 [2022-02-20 23:48:22,388 INFO L356 Elim1Store]: treesize reduction 8, result has 46.7 percent of original size [2022-02-20 23:48:22,388 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 36 treesize of output 31 [2022-02-20 23:48:22,396 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 11 treesize of output 7 [2022-02-20 23:48:22,407 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:48:22,407 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 13 treesize of output 12 [2022-02-20 23:48:22,495 INFO L290 TraceCheckUtils]: 29: Hoare triple {8548#false} assume !false; {8548#false} is VALID [2022-02-20 23:48:22,495 INFO L290 TraceCheckUtils]: 28: Hoare triple {8548#false} assume 1 != main_#t~mem13#1;havoc main_#t~mem13#1; {8548#false} is VALID [2022-02-20 23:48:22,495 INFO L290 TraceCheckUtils]: 27: Hoare triple {8548#false} SUMMARY for call main_#t~mem13#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L590 {8548#false} is VALID [2022-02-20 23:48:22,495 INFO L290 TraceCheckUtils]: 26: Hoare triple {8644#(= |ULTIMATE.start_main_#t~mem12#1| 0)} assume 0 != main_#t~mem12#1;havoc main_#t~mem12#1; {8548#false} is VALID [2022-02-20 23:48:22,496 INFO L290 TraceCheckUtils]: 25: Hoare triple {8669#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {8644#(= |ULTIMATE.start_main_#t~mem12#1| 0)} is VALID [2022-02-20 23:48:22,496 INFO L290 TraceCheckUtils]: 24: Hoare triple {8669#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {8669#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)} is VALID [2022-02-20 23:48:22,496 INFO L290 TraceCheckUtils]: 23: Hoare triple {8669#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {8669#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)} is VALID [2022-02-20 23:48:22,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {8679#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {8669#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)} is VALID [2022-02-20 23:48:22,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {8683#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {8679#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)} is VALID [2022-02-20 23:48:22,498 INFO L290 TraceCheckUtils]: 20: Hoare triple {8683#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {8683#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:22,498 INFO L290 TraceCheckUtils]: 19: Hoare triple {8683#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {8683#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:22,498 INFO L290 TraceCheckUtils]: 18: Hoare triple {8683#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} main_#t~short5#1 := main_~i~0#1 < 20; {8683#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:22,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {8696#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {8683#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:22,499 INFO L290 TraceCheckUtils]: 16: Hoare triple {8700#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {8696#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:22,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {8704#(forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {8700#(forall ((v_ArrVal_436 (Array Int Int))) (= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:22,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {8704#(forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {8704#(forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:22,502 WARN L290 TraceCheckUtils]: 13: Hoare triple {8711#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0))))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {8704#(forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0))} is UNKNOWN [2022-02-20 23:48:22,504 INFO L290 TraceCheckUtils]: 12: Hoare triple {8715#(or (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int)) (v_ArrVal_430 Int) (|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_430) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0)))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {8711#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0))))} is VALID [2022-02-20 23:48:22,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {8719#(or (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int)) (v_ArrVal_430 Int) (|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_430) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0)))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (not (= |ULTIMATE.start_main_#t~mem8#1| 0)))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {8715#(or (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int)) (v_ArrVal_430 Int) (|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_430) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0)))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} is VALID [2022-02-20 23:48:22,505 INFO L290 TraceCheckUtils]: 10: Hoare triple {8723#(or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int)) (v_ArrVal_430 Int) (|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_430) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0)))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {8719#(or (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int)) (v_ArrVal_430 Int) (|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_430) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0)))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (not (= |ULTIMATE.start_main_#t~mem8#1| 0)))} is VALID [2022-02-20 23:48:22,505 INFO L290 TraceCheckUtils]: 9: Hoare triple {8723#(or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int)) (v_ArrVal_430 Int) (|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_430) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0)))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} havoc main_#t~nondet7#1; {8723#(or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int)) (v_ArrVal_430 Int) (|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_430) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0)))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} is VALID [2022-02-20 23:48:22,506 INFO L290 TraceCheckUtils]: 8: Hoare triple {8730#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {8723#(or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (forall ((v_ArrVal_434 Int) (v_ArrVal_436 (Array Int Int)) (v_ArrVal_430 Int) (|v_ULTIMATE.start_main_~t~0#1.base_11| Int)) (or (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_430) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_434)) |v_ULTIMATE.start_main_~t~0#1.base_11| v_ArrVal_436) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_11|) 0)))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} is VALID [2022-02-20 23:48:22,507 INFO L290 TraceCheckUtils]: 7: Hoare triple {8730#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {8730#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:22,508 INFO L290 TraceCheckUtils]: 6: Hoare triple {8730#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {8730#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:22,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {8730#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {8730#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:22,508 INFO L290 TraceCheckUtils]: 4: Hoare triple {8547#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {8730#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:22,508 INFO L290 TraceCheckUtils]: 3: Hoare triple {8547#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {8547#true} is VALID [2022-02-20 23:48:22,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {8547#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {8547#true} is VALID [2022-02-20 23:48:22,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {8547#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {8547#true} is VALID [2022-02-20 23:48:22,509 INFO L290 TraceCheckUtils]: 0: Hoare triple {8547#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(16, 2); {8547#true} is VALID [2022-02-20 23:48:22,509 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 23:48:22,509 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1997685489] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:22,509 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:22,509 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15, 14] total 31 [2022-02-20 23:48:22,509 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1774538437] [2022-02-20 23:48:22,509 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:22,510 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.225806451612903) internal successors, (69), 31 states have internal predecessors, (69), 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 30 [2022-02-20 23:48:22,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:22,510 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 2.225806451612903) internal successors, (69), 31 states have internal predecessors, (69), 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 23:48:22,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 68 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:22,565 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-02-20 23:48:22,565 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:22,565 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-02-20 23:48:22,566 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=152, Invalid=559, Unknown=7, NotChecked=212, Total=930 [2022-02-20 23:48:22,566 INFO L87 Difference]: Start difference. First operand 153 states and 176 transitions. Second operand has 31 states, 31 states have (on average 2.225806451612903) internal successors, (69), 31 states have internal predecessors, (69), 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 23:48:24,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:24,045 INFO L93 Difference]: Finished difference Result 299 states and 337 transitions. [2022-02-20 23:48:24,046 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 23:48:24,046 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.225806451612903) internal successors, (69), 31 states have internal predecessors, (69), 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 30 [2022-02-20 23:48:24,046 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:24,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.225806451612903) internal successors, (69), 31 states have internal predecessors, (69), 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 23:48:24,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 294 transitions. [2022-02-20 23:48:24,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.225806451612903) internal successors, (69), 31 states have internal predecessors, (69), 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 23:48:24,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 294 transitions. [2022-02-20 23:48:24,049 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 294 transitions. [2022-02-20 23:48:24,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:24,249 INFO L225 Difference]: With dead ends: 299 [2022-02-20 23:48:24,249 INFO L226 Difference]: Without dead ends: 299 [2022-02-20 23:48:24,249 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 44 SyntacticMatches, 4 SemanticMatches, 33 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 341 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=232, Invalid=707, Unknown=7, NotChecked=244, Total=1190 [2022-02-20 23:48:24,249 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 542 mSDsluCounter, 785 mSDsCounter, 0 mSdLazyCounter, 611 mSolverCounterSat, 95 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 542 SdHoareTripleChecker+Valid, 846 SdHoareTripleChecker+Invalid, 1802 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 95 IncrementalHoareTripleChecker+Valid, 611 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 1096 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:24,250 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [542 Valid, 846 Invalid, 1802 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [95 Valid, 611 Invalid, 0 Unknown, 1096 Unchecked, 0.5s Time] [2022-02-20 23:48:24,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states. [2022-02-20 23:48:24,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 153. [2022-02-20 23:48:24,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:24,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 299 states. Second operand has 153 states, 137 states have (on average 1.2773722627737227) internal successors, (175), 152 states have internal predecessors, (175), 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 23:48:24,254 INFO L74 IsIncluded]: Start isIncluded. First operand 299 states. Second operand has 153 states, 137 states have (on average 1.2773722627737227) internal successors, (175), 152 states have internal predecessors, (175), 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 23:48:24,255 INFO L87 Difference]: Start difference. First operand 299 states. Second operand has 153 states, 137 states have (on average 1.2773722627737227) internal successors, (175), 152 states have internal predecessors, (175), 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 23:48:24,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:24,258 INFO L93 Difference]: Finished difference Result 299 states and 337 transitions. [2022-02-20 23:48:24,258 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 337 transitions. [2022-02-20 23:48:24,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:24,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:24,259 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 137 states have (on average 1.2773722627737227) internal successors, (175), 152 states have internal predecessors, (175), 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 299 states. [2022-02-20 23:48:24,259 INFO L87 Difference]: Start difference. First operand has 153 states, 137 states have (on average 1.2773722627737227) internal successors, (175), 152 states have internal predecessors, (175), 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 299 states. [2022-02-20 23:48:24,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:24,280 INFO L93 Difference]: Finished difference Result 299 states and 337 transitions. [2022-02-20 23:48:24,280 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 337 transitions. [2022-02-20 23:48:24,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:24,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:24,280 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:24,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:24,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 137 states have (on average 1.2773722627737227) internal successors, (175), 152 states have internal predecessors, (175), 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 23:48:24,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 175 transitions. [2022-02-20 23:48:24,282 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 175 transitions. Word has length 30 [2022-02-20 23:48:24,283 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:24,283 INFO L470 AbstractCegarLoop]: Abstraction has 153 states and 175 transitions. [2022-02-20 23:48:24,283 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 2.225806451612903) internal successors, (69), 31 states have internal predecessors, (69), 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 23:48:24,283 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 175 transitions. [2022-02-20 23:48:24,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:48:24,284 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:24,284 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:24,302 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 23:48:24,484 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-02-20 23:48:24,484 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:24,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:24,485 INFO L85 PathProgramCache]: Analyzing trace with hash -1374608061, now seen corresponding path program 1 times [2022-02-20 23:48:24,485 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:24,485 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [15124497] [2022-02-20 23:48:24,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:24,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:24,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:24,732 INFO L290 TraceCheckUtils]: 0: Hoare triple {9815#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(16, 2); {9815#true} is VALID [2022-02-20 23:48:24,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {9815#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {9817#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:24,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {9817#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {9817#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:24,733 INFO L290 TraceCheckUtils]: 3: Hoare triple {9817#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {9817#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:24,733 INFO L290 TraceCheckUtils]: 4: Hoare triple {9817#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {9818#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,734 INFO L290 TraceCheckUtils]: 5: Hoare triple {9818#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {9818#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,734 INFO L290 TraceCheckUtils]: 6: Hoare triple {9818#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {9818#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {9818#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {9818#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {9818#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {9819#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:24,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {9819#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {9819#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:24,736 INFO L290 TraceCheckUtils]: 10: Hoare triple {9819#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {9820#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem8#1| (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:24,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {9820#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem8#1| (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {9821#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:24,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {9821#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {9821#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:24,738 INFO L290 TraceCheckUtils]: 13: Hoare triple {9821#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {9822#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,738 INFO L290 TraceCheckUtils]: 14: Hoare triple {9822#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {9822#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,739 INFO L290 TraceCheckUtils]: 15: Hoare triple {9822#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {9823#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,739 INFO L290 TraceCheckUtils]: 16: Hoare triple {9823#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {9824#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:24,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {9824#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {9825#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} is VALID [2022-02-20 23:48:24,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {9825#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} main_#t~short5#1 := main_~i~0#1 < 20; {9825#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} is VALID [2022-02-20 23:48:24,742 INFO L290 TraceCheckUtils]: 19: Hoare triple {9825#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {9825#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} is VALID [2022-02-20 23:48:24,743 INFO L290 TraceCheckUtils]: 20: Hoare triple {9825#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {9825#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} is VALID [2022-02-20 23:48:24,743 INFO L290 TraceCheckUtils]: 21: Hoare triple {9825#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {9826#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} is VALID [2022-02-20 23:48:24,744 INFO L290 TraceCheckUtils]: 22: Hoare triple {9826#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) 4))))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,744 INFO L290 TraceCheckUtils]: 23: Hoare triple {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,744 INFO L290 TraceCheckUtils]: 24: Hoare triple {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {9828#(and (not (= |ULTIMATE.start_main_#t~mem12#1| 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:24,745 INFO L290 TraceCheckUtils]: 26: Hoare triple {9828#(and (not (= |ULTIMATE.start_main_#t~mem12#1| 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {9816#false} is VALID [2022-02-20 23:48:24,745 INFO L290 TraceCheckUtils]: 27: Hoare triple {9816#false} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {9816#false} is VALID [2022-02-20 23:48:24,745 INFO L290 TraceCheckUtils]: 28: Hoare triple {9816#false} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {9816#false} is VALID [2022-02-20 23:48:24,746 INFO L290 TraceCheckUtils]: 29: Hoare triple {9816#false} assume !false; {9816#false} is VALID [2022-02-20 23:48:24,746 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:24,746 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:24,746 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [15124497] [2022-02-20 23:48:24,746 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [15124497] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:24,746 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [704076834] [2022-02-20 23:48:24,746 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:24,746 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:24,747 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:24,748 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:48:24,773 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 23:48:24,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:24,857 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 35 conjunts are in the unsatisfiable core [2022-02-20 23:48:24,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:24,871 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:24,964 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 23:48:25,101 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:48:25,101 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 22 treesize of output 21 [2022-02-20 23:48:25,129 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:48:25,129 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 11 treesize of output 11 [2022-02-20 23:48:25,212 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 13 treesize of output 9 [2022-02-20 23:48:25,220 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:48:25,220 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 24 treesize of output 23 [2022-02-20 23:48:25,260 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 20 treesize of output 8 [2022-02-20 23:48:25,365 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 17 treesize of output 19 [2022-02-20 23:48:25,558 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 16 treesize of output 8 [2022-02-20 23:48:25,573 INFO L290 TraceCheckUtils]: 0: Hoare triple {9815#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(16, 2); {9815#true} is VALID [2022-02-20 23:48:25,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {9815#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:25,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:25,575 INFO L290 TraceCheckUtils]: 3: Hoare triple {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:25,575 INFO L290 TraceCheckUtils]: 4: Hoare triple {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {9845#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,576 INFO L290 TraceCheckUtils]: 5: Hoare triple {9845#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {9845#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,576 INFO L290 TraceCheckUtils]: 6: Hoare triple {9845#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {9845#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,577 INFO L290 TraceCheckUtils]: 7: Hoare triple {9845#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {9845#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,577 INFO L290 TraceCheckUtils]: 8: Hoare triple {9845#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {9858#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {9858#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} havoc main_#t~nondet7#1; {9858#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,578 INFO L290 TraceCheckUtils]: 10: Hoare triple {9858#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {9865#(and (= |ULTIMATE.start_main_#t~mem8#1| (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4))) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,579 INFO L290 TraceCheckUtils]: 11: Hoare triple {9865#(and (= |ULTIMATE.start_main_#t~mem8#1| (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4))) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {9869#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,580 INFO L290 TraceCheckUtils]: 12: Hoare triple {9869#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {9869#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {9869#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {9876#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,581 INFO L290 TraceCheckUtils]: 14: Hoare triple {9876#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {9876#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,582 INFO L290 TraceCheckUtils]: 15: Hoare triple {9876#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {9883#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,582 INFO L290 TraceCheckUtils]: 16: Hoare triple {9883#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {9887#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:25,583 INFO L290 TraceCheckUtils]: 17: Hoare triple {9887#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {9891#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {9891#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {9891#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,584 INFO L290 TraceCheckUtils]: 19: Hoare triple {9891#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {9891#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,584 INFO L290 TraceCheckUtils]: 20: Hoare triple {9891#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {9891#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,585 INFO L290 TraceCheckUtils]: 21: Hoare triple {9891#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {9904#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,586 INFO L290 TraceCheckUtils]: 22: Hoare triple {9904#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {9908#(exists ((|ULTIMATE.start_main_~a~0#1.offset| Int)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0)))} is VALID [2022-02-20 23:48:25,587 INFO L290 TraceCheckUtils]: 23: Hoare triple {9908#(exists ((|ULTIMATE.start_main_~a~0#1.offset| Int)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)) 0)) (<= |ULTIMATE.start_main_~a~0#1.offset| 0)))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,587 INFO L290 TraceCheckUtils]: 24: Hoare triple {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:25,588 INFO L290 TraceCheckUtils]: 25: Hoare triple {9827#(and (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {9918#(not (= |ULTIMATE.start_main_#t~mem12#1| 0))} is VALID [2022-02-20 23:48:25,588 INFO L290 TraceCheckUtils]: 26: Hoare triple {9918#(not (= |ULTIMATE.start_main_#t~mem12#1| 0))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {9816#false} is VALID [2022-02-20 23:48:25,588 INFO L290 TraceCheckUtils]: 27: Hoare triple {9816#false} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {9816#false} is VALID [2022-02-20 23:48:25,588 INFO L290 TraceCheckUtils]: 28: Hoare triple {9816#false} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {9816#false} is VALID [2022-02-20 23:48:25,588 INFO L290 TraceCheckUtils]: 29: Hoare triple {9816#false} assume !false; {9816#false} is VALID [2022-02-20 23:48:25,589 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:25,589 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:25,780 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |c_ULTIMATE.start_main_~a~0#1.offset|)))) is different from false [2022-02-20 23:48:26,050 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_513) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |c_ULTIMATE.start_main_~a~0#1.offset|)))) is different from false [2022-02-20 23:48:26,129 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (= (select (select (store |c_#memory_int| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_513) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |c_ULTIMATE.start_main_~a~0#1.offset|)))) is different from false [2022-02-20 23:48:26,231 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |c_ULTIMATE.start_main_~t~0#1.base| v_ArrVal_513) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |c_ULTIMATE.start_main_~a~0#1.offset|)))) is different from false [2022-02-20 23:48:28,021 INFO L356 Elim1Store]: treesize reduction 78, result has 27.1 percent of original size [2022-02-20 23:48:28,021 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 1 new quantified variables, introduced 3 case distinctions, treesize of input 31 treesize of output 42 [2022-02-20 23:48:28,059 INFO L356 Elim1Store]: treesize reduction 8, result has 46.7 percent of original size [2022-02-20 23:48:28,059 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 38 treesize of output 33 [2022-02-20 23:48:28,086 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 22 treesize of output 18 [2022-02-20 23:48:28,110 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:48:28,111 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 13 treesize of output 12 [2022-02-20 23:48:28,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {9816#false} assume !false; {9816#false} is VALID [2022-02-20 23:48:28,302 INFO L290 TraceCheckUtils]: 28: Hoare triple {9816#false} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {9816#false} is VALID [2022-02-20 23:48:28,302 INFO L290 TraceCheckUtils]: 27: Hoare triple {9816#false} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {9816#false} is VALID [2022-02-20 23:48:28,302 INFO L290 TraceCheckUtils]: 26: Hoare triple {9918#(not (= |ULTIMATE.start_main_#t~mem12#1| 0))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {9816#false} is VALID [2022-02-20 23:48:28,303 INFO L290 TraceCheckUtils]: 25: Hoare triple {9943#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {9918#(not (= |ULTIMATE.start_main_#t~mem12#1| 0))} is VALID [2022-02-20 23:48:28,303 INFO L290 TraceCheckUtils]: 24: Hoare triple {9943#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {9943#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:28,304 INFO L290 TraceCheckUtils]: 23: Hoare triple {9950#(or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {9943#(not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:28,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {9954#(forall ((|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {9950#(or (not (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} is VALID [2022-02-20 23:48:28,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {9958#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {9954#(forall ((|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} is VALID [2022-02-20 23:48:28,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {9958#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {9958#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} is VALID [2022-02-20 23:48:28,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {9958#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {9958#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} is VALID [2022-02-20 23:48:28,307 INFO L290 TraceCheckUtils]: 18: Hoare triple {9958#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} main_#t~short5#1 := main_~i~0#1 < 20; {9958#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} is VALID [2022-02-20 23:48:28,307 INFO L290 TraceCheckUtils]: 17: Hoare triple {9971#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {9958#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))} is VALID [2022-02-20 23:48:28,308 INFO L290 TraceCheckUtils]: 16: Hoare triple {9975#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {9971#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store |#memory_int| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} is VALID [2022-02-20 23:48:28,310 WARN L290 TraceCheckUtils]: 15: Hoare triple {9979#(forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {9975#(forall ((v_ArrVal_513 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} is UNKNOWN [2022-02-20 23:48:28,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {9979#(forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {9979#(forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} is VALID [2022-02-20 23:48:28,315 WARN L290 TraceCheckUtils]: 13: Hoare triple {9986#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_12| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {9979#(forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} is UNKNOWN [2022-02-20 23:48:28,318 WARN L290 TraceCheckUtils]: 12: Hoare triple {9990#(forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (v_ArrVal_507 Int) (|v_ULTIMATE.start_main_~t~0#1.base_12| Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_507) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {9986#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_12| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|))))))} is UNKNOWN [2022-02-20 23:48:28,319 INFO L290 TraceCheckUtils]: 11: Hoare triple {9994#(or (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (v_ArrVal_507 Int) (|v_ULTIMATE.start_main_~t~0#1.base_12| Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_507) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)))) (= |ULTIMATE.start_main_#t~mem8#1| 0))} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {9990#(forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (v_ArrVal_507 Int) (|v_ULTIMATE.start_main_~t~0#1.base_12| Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_507) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0))))} is VALID [2022-02-20 23:48:28,320 INFO L290 TraceCheckUtils]: 10: Hoare triple {9998#(or (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (v_ArrVal_507 Int) (|v_ULTIMATE.start_main_~t~0#1.base_12| Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_507) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)))) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {9994#(or (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (v_ArrVal_507 Int) (|v_ULTIMATE.start_main_~t~0#1.base_12| Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_507) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)))) (= |ULTIMATE.start_main_#t~mem8#1| 0))} is VALID [2022-02-20 23:48:28,321 INFO L290 TraceCheckUtils]: 9: Hoare triple {9998#(or (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (v_ArrVal_507 Int) (|v_ULTIMATE.start_main_~t~0#1.base_12| Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_507) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)))) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0))} havoc main_#t~nondet7#1; {9998#(or (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (v_ArrVal_507 Int) (|v_ULTIMATE.start_main_~t~0#1.base_12| Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_507) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)))) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:28,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {10005#(and (or (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {9998#(or (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (v_ArrVal_507 Int) (|v_ULTIMATE.start_main_~t~0#1.base_12| Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |ULTIMATE.start_main_~a~0#1.offset|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_12|) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset| v_ArrVal_507) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |v_ULTIMATE.start_main_~t~0#1.base_12| v_ArrVal_513) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)))) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 4)) 0))} is VALID [2022-02-20 23:48:28,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {10005#(and (or (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {10005#(and (or (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)))} is VALID [2022-02-20 23:48:28,323 INFO L290 TraceCheckUtils]: 6: Hoare triple {10005#(and (or (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {10005#(and (or (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)))} is VALID [2022-02-20 23:48:28,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {10005#(and (or (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)))} main_#t~short5#1 := main_~i~0#1 < 20; {10005#(and (or (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)))} is VALID [2022-02-20 23:48:28,324 INFO L290 TraceCheckUtils]: 4: Hoare triple {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {10005#(and (or (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (< |ULTIMATE.start_main_~a~0#1.offset| 0)) (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (< |ULTIMATE.start_main_~a~0#1.offset| 0)))} is VALID [2022-02-20 23:48:28,324 INFO L290 TraceCheckUtils]: 3: Hoare triple {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:28,325 INFO L290 TraceCheckUtils]: 2: Hoare triple {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:28,325 INFO L290 TraceCheckUtils]: 1: Hoare triple {9815#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {9835#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:28,325 INFO L290 TraceCheckUtils]: 0: Hoare triple {9815#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(16, 2); {9815#true} is VALID [2022-02-20 23:48:28,326 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 23:48:28,326 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [704076834] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:28,326 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:28,326 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15, 16] total 38 [2022-02-20 23:48:28,326 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2083508979] [2022-02-20 23:48:28,326 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:28,327 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 2.026315789473684) internal successors, (77), 38 states have internal predecessors, (77), 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 30 [2022-02-20 23:48:28,327 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:28,327 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 38 states, 38 states have (on average 2.026315789473684) internal successors, (77), 38 states have internal predecessors, (77), 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 23:48:28,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 71 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:28,398 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-02-20 23:48:28,398 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:28,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-02-20 23:48:28,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=214, Invalid=906, Unknown=18, NotChecked=268, Total=1406 [2022-02-20 23:48:28,399 INFO L87 Difference]: Start difference. First operand 153 states and 175 transitions. Second operand has 38 states, 38 states have (on average 2.026315789473684) internal successors, (77), 38 states have internal predecessors, (77), 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 23:48:29,002 WARN L838 $PredicateComparison]: unable to prove that (and (= (select |c_#valid| |c_ULTIMATE.start_main_~p~0#1.base|) 1) (not (= |c_ULTIMATE.start_main_~p~0#1.base| |c_ULTIMATE.start_main_~t~0#1.base|)) (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |c_ULTIMATE.start_main_~t~0#1.base| v_ArrVal_513) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |c_ULTIMATE.start_main_~a~0#1.offset|)))) (not (= (select (select |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |c_ULTIMATE.start_main_~a~0#1.offset| 0) (= |c_ULTIMATE.start_main_~p~0#1.offset| 0) (= |c_ULTIMATE.start_main_~p~0#1.base| |c_ULTIMATE.start_main_~a~0#1.base|)) is different from false [2022-02-20 23:48:29,373 WARN L838 $PredicateComparison]: unable to prove that (and (not (= |c_ULTIMATE.start_main_~p~0#1.base| |c_ULTIMATE.start_main_~t~0#1.base|)) (forall ((v_ArrVal_513 (Array Int Int)) (v_ArrVal_510 Int) (|v_ULTIMATE.start_main_~p~0#1.offset_62| Int)) (or (not (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_510)) |c_ULTIMATE.start_main_~t~0#1.base| v_ArrVal_513) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_62| 4)) 0)) (not (<= 0 |v_ULTIMATE.start_main_~p~0#1.offset_62|)) (not (<= |v_ULTIMATE.start_main_~p~0#1.offset_62| |c_ULTIMATE.start_main_~a~0#1.offset|)))) (not (= (select (select |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 4)) 0)) (= |c_ULTIMATE.start_main_~a~0#1.offset| 0) (= |c_ULTIMATE.start_main_~p~0#1.offset| 0) (= |c_ULTIMATE.start_main_~p~0#1.base| |c_ULTIMATE.start_main_~a~0#1.base|)) is different from false [2022-02-20 23:48:31,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:31,469 INFO L93 Difference]: Finished difference Result 257 states and 286 transitions. [2022-02-20 23:48:31,469 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 23:48:31,470 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 2.026315789473684) internal successors, (77), 38 states have internal predecessors, (77), 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 30 [2022-02-20 23:48:31,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:31,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 2.026315789473684) internal successors, (77), 38 states have internal predecessors, (77), 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 23:48:31,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 235 transitions. [2022-02-20 23:48:31,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 2.026315789473684) internal successors, (77), 38 states have internal predecessors, (77), 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 23:48:31,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 235 transitions. [2022-02-20 23:48:31,473 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 235 transitions. [2022-02-20 23:48:31,641 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 235 edges. 234 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:31,643 INFO L225 Difference]: With dead ends: 257 [2022-02-20 23:48:31,644 INFO L226 Difference]: Without dead ends: 257 [2022-02-20 23:48:31,644 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 39 SyntacticMatches, 4 SemanticMatches, 41 ConstructedPredicates, 6 IntricatePredicates, 0 DeprecatedPredicates, 570 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=287, Invalid=1049, Unknown=20, NotChecked=450, Total=1806 [2022-02-20 23:48:31,645 INFO L933 BasicCegarLoop]: 86 mSDtfsCounter, 487 mSDsluCounter, 925 mSDsCounter, 0 mSdLazyCounter, 1145 mSolverCounterSat, 70 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 487 SdHoareTripleChecker+Valid, 1011 SdHoareTripleChecker+Invalid, 2330 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 70 IncrementalHoareTripleChecker+Valid, 1145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 1115 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:31,645 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [487 Valid, 1011 Invalid, 2330 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [70 Valid, 1145 Invalid, 0 Unknown, 1115 Unchecked, 0.9s Time] [2022-02-20 23:48:31,645 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-02-20 23:48:31,647 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 173. [2022-02-20 23:48:31,647 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:31,648 INFO L82 GeneralOperation]: Start isEquivalent. First operand 257 states. Second operand has 173 states, 157 states have (on average 1.2611464968152866) internal successors, (198), 172 states have internal predecessors, (198), 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 23:48:31,648 INFO L74 IsIncluded]: Start isIncluded. First operand 257 states. Second operand has 173 states, 157 states have (on average 1.2611464968152866) internal successors, (198), 172 states have internal predecessors, (198), 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 23:48:31,648 INFO L87 Difference]: Start difference. First operand 257 states. Second operand has 173 states, 157 states have (on average 1.2611464968152866) internal successors, (198), 172 states have internal predecessors, (198), 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 23:48:31,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:31,653 INFO L93 Difference]: Finished difference Result 257 states and 286 transitions. [2022-02-20 23:48:31,653 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 286 transitions. [2022-02-20 23:48:31,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:31,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:31,654 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 157 states have (on average 1.2611464968152866) internal successors, (198), 172 states have internal predecessors, (198), 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 257 states. [2022-02-20 23:48:31,654 INFO L87 Difference]: Start difference. First operand has 173 states, 157 states have (on average 1.2611464968152866) internal successors, (198), 172 states have internal predecessors, (198), 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 257 states. [2022-02-20 23:48:31,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:31,658 INFO L93 Difference]: Finished difference Result 257 states and 286 transitions. [2022-02-20 23:48:31,658 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 286 transitions. [2022-02-20 23:48:31,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:31,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:31,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:31,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:31,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 157 states have (on average 1.2611464968152866) internal successors, (198), 172 states have internal predecessors, (198), 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 23:48:31,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 198 transitions. [2022-02-20 23:48:31,662 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 198 transitions. Word has length 30 [2022-02-20 23:48:31,662 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:31,662 INFO L470 AbstractCegarLoop]: Abstraction has 173 states and 198 transitions. [2022-02-20 23:48:31,662 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 38 states, 38 states have (on average 2.026315789473684) internal successors, (77), 38 states have internal predecessors, (77), 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 23:48:31,663 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 198 transitions. [2022-02-20 23:48:31,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:48:31,663 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:31,663 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:31,683 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:48:31,881 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-02-20 23:48:31,882 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:31,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:31,882 INFO L85 PathProgramCache]: Analyzing trace with hash -1374915891, now seen corresponding path program 1 times [2022-02-20 23:48:31,883 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:31,883 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [730140633] [2022-02-20 23:48:31,883 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:31,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:31,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:32,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {10988#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(16, 2); {10988#true} is VALID [2022-02-20 23:48:32,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {10988#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {10988#true} is VALID [2022-02-20 23:48:32,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {10988#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {10988#true} is VALID [2022-02-20 23:48:32,109 INFO L290 TraceCheckUtils]: 3: Hoare triple {10988#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {10988#true} is VALID [2022-02-20 23:48:32,110 INFO L290 TraceCheckUtils]: 4: Hoare triple {10988#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {10990#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {10990#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {10990#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,111 INFO L290 TraceCheckUtils]: 6: Hoare triple {10990#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {10990#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {10990#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {10990#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {10990#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {10991#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {10991#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {10991#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,113 INFO L290 TraceCheckUtils]: 10: Hoare triple {10991#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {10991#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,114 INFO L290 TraceCheckUtils]: 11: Hoare triple {10991#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {10991#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,115 INFO L290 TraceCheckUtils]: 12: Hoare triple {10991#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {10992#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,115 INFO L290 TraceCheckUtils]: 13: Hoare triple {10992#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {10993#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {10993#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {10993#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,116 INFO L290 TraceCheckUtils]: 15: Hoare triple {10993#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {10994#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,117 INFO L290 TraceCheckUtils]: 16: Hoare triple {10994#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {10995#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:32,117 INFO L290 TraceCheckUtils]: 17: Hoare triple {10995#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {10996#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {10996#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {10996#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,118 INFO L290 TraceCheckUtils]: 19: Hoare triple {10996#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {10996#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {10996#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {10996#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,120 INFO L290 TraceCheckUtils]: 21: Hoare triple {10996#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {10997#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1)} is VALID [2022-02-20 23:48:32,120 INFO L290 TraceCheckUtils]: 22: Hoare triple {10997#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:32,120 INFO L290 TraceCheckUtils]: 23: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:32,121 INFO L290 TraceCheckUtils]: 24: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:32,121 INFO L290 TraceCheckUtils]: 25: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:32,122 INFO L290 TraceCheckUtils]: 26: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} assume 0 != main_#t~mem12#1;havoc main_#t~mem12#1; {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:32,122 INFO L290 TraceCheckUtils]: 27: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} SUMMARY for call main_#t~mem13#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L590 {10999#(= |ULTIMATE.start_main_#t~mem13#1| 1)} is VALID [2022-02-20 23:48:32,122 INFO L290 TraceCheckUtils]: 28: Hoare triple {10999#(= |ULTIMATE.start_main_#t~mem13#1| 1)} assume 1 != main_#t~mem13#1;havoc main_#t~mem13#1; {10989#false} is VALID [2022-02-20 23:48:32,122 INFO L290 TraceCheckUtils]: 29: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-02-20 23:48:32,123 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:32,123 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:32,123 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [730140633] [2022-02-20 23:48:32,123 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [730140633] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:32,123 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [407179898] [2022-02-20 23:48:32,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:32,124 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:32,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:32,127 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:48:32,129 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 23:48:32,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:32,220 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 35 conjunts are in the unsatisfiable core [2022-02-20 23:48:32,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:32,231 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:32,411 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 11 treesize of output 7 [2022-02-20 23:48:32,461 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:48:32,461 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 11 treesize of output 11 [2022-02-20 23:48:32,565 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:48:32,566 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 21 treesize of output 20 [2022-02-20 23:48:32,579 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 13 treesize of output 9 [2022-02-20 23:48:32,621 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 20 treesize of output 8 [2022-02-20 23:48:32,725 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 14 treesize of output 16 [2022-02-20 23:48:32,815 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 23:48:32,818 INFO L290 TraceCheckUtils]: 0: Hoare triple {10988#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(16, 2); {10988#true} is VALID [2022-02-20 23:48:32,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {10988#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {11006#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:32,819 INFO L290 TraceCheckUtils]: 2: Hoare triple {11006#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {11006#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:32,819 INFO L290 TraceCheckUtils]: 3: Hoare triple {11006#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {11006#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:32,820 INFO L290 TraceCheckUtils]: 4: Hoare triple {11006#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {11016#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,820 INFO L290 TraceCheckUtils]: 5: Hoare triple {11016#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {11016#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,821 INFO L290 TraceCheckUtils]: 6: Hoare triple {11016#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {11016#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {11016#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {11016#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {11016#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {11029#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,822 INFO L290 TraceCheckUtils]: 9: Hoare triple {11029#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {11029#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,823 INFO L290 TraceCheckUtils]: 10: Hoare triple {11029#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {11029#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {11029#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {11029#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,824 INFO L290 TraceCheckUtils]: 12: Hoare triple {11029#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {11042#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:32,825 INFO L290 TraceCheckUtils]: 13: Hoare triple {11042#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {11046#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,825 INFO L290 TraceCheckUtils]: 14: Hoare triple {11046#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {11046#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,827 INFO L290 TraceCheckUtils]: 15: Hoare triple {11046#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {11053#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:32,827 INFO L290 TraceCheckUtils]: 16: Hoare triple {11053#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {11057#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:32,828 INFO L290 TraceCheckUtils]: 17: Hoare triple {11057#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {11061#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,828 INFO L290 TraceCheckUtils]: 18: Hoare triple {11061#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {11061#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {11061#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {11061#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {11061#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {11061#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,830 INFO L290 TraceCheckUtils]: 21: Hoare triple {11061#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {11074#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:32,830 INFO L290 TraceCheckUtils]: 22: Hoare triple {11074#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:32,831 INFO L290 TraceCheckUtils]: 23: Hoare triple {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:32,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:32,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:32,832 INFO L290 TraceCheckUtils]: 26: Hoare triple {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume 0 != main_#t~mem12#1;havoc main_#t~mem12#1; {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:32,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {11078#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) 0) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem13#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L590 {10999#(= |ULTIMATE.start_main_#t~mem13#1| 1)} is VALID [2022-02-20 23:48:32,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {10999#(= |ULTIMATE.start_main_#t~mem13#1| 1)} assume 1 != main_#t~mem13#1;havoc main_#t~mem13#1; {10989#false} is VALID [2022-02-20 23:48:32,833 INFO L290 TraceCheckUtils]: 29: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-02-20 23:48:32,833 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:32,833 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:32,900 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |c_ULTIMATE.start_main_~a~0#1.base|) |c_ULTIMATE.start_main_~a~0#1.offset|) 1)) is different from false [2022-02-20 23:48:32,915 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_588) |c_ULTIMATE.start_main_~a~0#1.base|) |c_ULTIMATE.start_main_~a~0#1.offset|) 1)) is different from false [2022-02-20 23:48:32,922 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |c_#memory_int| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_588) |c_ULTIMATE.start_main_~a~0#1.base|) |c_ULTIMATE.start_main_~a~0#1.offset|) 1)) is different from false [2022-02-20 23:48:32,940 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_585 Int) (v_ArrVal_588 (Array Int Int))) (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_585)) |c_ULTIMATE.start_main_~t~0#1.base| v_ArrVal_588) |c_ULTIMATE.start_main_~a~0#1.base|) |c_ULTIMATE.start_main_~a~0#1.offset|) 1)) is different from false [2022-02-20 23:48:33,056 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:48:33,059 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:33,060 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 1 new quantified variables, introduced 2 case distinctions, treesize of input 23 treesize of output 29 [2022-02-20 23:48:33,070 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:33,071 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 30 treesize of output 33 [2022-02-20 23:48:33,076 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 9 treesize of output 7 [2022-02-20 23:48:33,276 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:48:33,277 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 13 treesize of output 12 [2022-02-20 23:48:33,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-02-20 23:48:33,321 INFO L290 TraceCheckUtils]: 28: Hoare triple {10999#(= |ULTIMATE.start_main_#t~mem13#1| 1)} assume 1 != main_#t~mem13#1;havoc main_#t~mem13#1; {10989#false} is VALID [2022-02-20 23:48:33,322 INFO L290 TraceCheckUtils]: 27: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} SUMMARY for call main_#t~mem13#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L590 {10999#(= |ULTIMATE.start_main_#t~mem13#1| 1)} is VALID [2022-02-20 23:48:33,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} assume 0 != main_#t~mem12#1;havoc main_#t~mem12#1; {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:33,322 INFO L290 TraceCheckUtils]: 25: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:33,322 INFO L290 TraceCheckUtils]: 24: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:33,323 INFO L290 TraceCheckUtils]: 23: Hoare triple {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:33,323 INFO L290 TraceCheckUtils]: 22: Hoare triple {10997#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {10998#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:48:33,324 INFO L290 TraceCheckUtils]: 21: Hoare triple {11124#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {10997#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1)} is VALID [2022-02-20 23:48:33,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {11124#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {11124#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:33,324 INFO L290 TraceCheckUtils]: 19: Hoare triple {11124#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {11124#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:33,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {11124#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {11124#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:33,325 INFO L290 TraceCheckUtils]: 17: Hoare triple {11137#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {11124#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:33,325 INFO L290 TraceCheckUtils]: 16: Hoare triple {11141#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {11137#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:33,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {11145#(forall ((v_ArrVal_585 Int) (v_ArrVal_588 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_585)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {11141#(forall ((v_ArrVal_588 (Array Int Int))) (= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:33,326 INFO L290 TraceCheckUtils]: 14: Hoare triple {11145#(forall ((v_ArrVal_585 Int) (v_ArrVal_588 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_585)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {11145#(forall ((v_ArrVal_585 Int) (v_ArrVal_588 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_585)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:48:33,329 WARN L290 TraceCheckUtils]: 13: Hoare triple {11152#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (forall ((v_ArrVal_585 Int) (v_ArrVal_588 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_585)) |v_ULTIMATE.start_main_~t~0#1.base_14| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {11145#(forall ((v_ArrVal_585 Int) (v_ArrVal_588 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_585)) |ULTIMATE.start_main_~t~0#1.base| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is UNKNOWN [2022-02-20 23:48:33,330 INFO L290 TraceCheckUtils]: 12: Hoare triple {11156#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_14| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {11152#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (forall ((v_ArrVal_585 Int) (v_ArrVal_588 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~p~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8) v_ArrVal_585)) |v_ULTIMATE.start_main_~t~0#1.base_14| v_ArrVal_588) |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))))} is VALID [2022-02-20 23:48:33,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {11156#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_14| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {11156#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_14| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:33,331 INFO L290 TraceCheckUtils]: 10: Hoare triple {11156#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_14| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {11156#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_14| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:33,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {11156#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_14| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} havoc main_#t~nondet7#1; {11156#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_14| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:33,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {11169#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {11156#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_14| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_14|) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_14| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:33,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {11169#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {11169#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:33,333 INFO L290 TraceCheckUtils]: 6: Hoare triple {11169#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {11169#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:33,334 INFO L290 TraceCheckUtils]: 5: Hoare triple {11169#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {11169#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:33,334 INFO L290 TraceCheckUtils]: 4: Hoare triple {10988#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {11169#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:33,334 INFO L290 TraceCheckUtils]: 3: Hoare triple {10988#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {10988#true} is VALID [2022-02-20 23:48:33,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {10988#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {10988#true} is VALID [2022-02-20 23:48:33,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {10988#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {10988#true} is VALID [2022-02-20 23:48:33,334 INFO L290 TraceCheckUtils]: 0: Hoare triple {10988#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(16, 2); {10988#true} is VALID [2022-02-20 23:48:33,335 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 23:48:33,335 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [407179898] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:33,335 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:33,335 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13, 12] total 29 [2022-02-20 23:48:33,335 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1603273630] [2022-02-20 23:48:33,335 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:33,335 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 30 [2022-02-20 23:48:33,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:33,336 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:33,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 73 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:33,386 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-02-20 23:48:33,386 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:33,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-02-20 23:48:33,386 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=485, Unknown=4, NotChecked=196, Total=812 [2022-02-20 23:48:33,387 INFO L87 Difference]: Start difference. First operand 173 states and 198 transitions. Second operand has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:34,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:34,373 INFO L93 Difference]: Finished difference Result 258 states and 289 transitions. [2022-02-20 23:48:34,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 23:48:34,373 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 30 [2022-02-20 23:48:34,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:34,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:34,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 198 transitions. [2022-02-20 23:48:34,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:34,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 198 transitions. [2022-02-20 23:48:34,376 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 198 transitions. [2022-02-20 23:48:34,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:34,512 INFO L225 Difference]: With dead ends: 258 [2022-02-20 23:48:34,513 INFO L226 Difference]: Without dead ends: 258 [2022-02-20 23:48:34,513 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 43 SyntacticMatches, 5 SemanticMatches, 31 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 267 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=164, Invalid=660, Unknown=4, NotChecked=228, Total=1056 [2022-02-20 23:48:34,513 INFO L933 BasicCegarLoop]: 111 mSDtfsCounter, 144 mSDsluCounter, 742 mSDsCounter, 0 mSdLazyCounter, 365 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 144 SdHoareTripleChecker+Valid, 853 SdHoareTripleChecker+Invalid, 860 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 365 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 471 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:34,513 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [144 Valid, 853 Invalid, 860 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 365 Invalid, 0 Unknown, 471 Unchecked, 0.3s Time] [2022-02-20 23:48:34,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 258 states. [2022-02-20 23:48:34,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 258 to 181. [2022-02-20 23:48:34,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:34,516 INFO L82 GeneralOperation]: Start isEquivalent. First operand 258 states. Second operand has 181 states, 165 states have (on average 1.2545454545454546) internal successors, (207), 180 states have internal predecessors, (207), 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 23:48:34,516 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand has 181 states, 165 states have (on average 1.2545454545454546) internal successors, (207), 180 states have internal predecessors, (207), 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 23:48:34,516 INFO L87 Difference]: Start difference. First operand 258 states. Second operand has 181 states, 165 states have (on average 1.2545454545454546) internal successors, (207), 180 states have internal predecessors, (207), 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 23:48:34,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:34,520 INFO L93 Difference]: Finished difference Result 258 states and 289 transitions. [2022-02-20 23:48:34,520 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 289 transitions. [2022-02-20 23:48:34,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:34,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:34,520 INFO L74 IsIncluded]: Start isIncluded. First operand has 181 states, 165 states have (on average 1.2545454545454546) internal successors, (207), 180 states have internal predecessors, (207), 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 258 states. [2022-02-20 23:48:34,521 INFO L87 Difference]: Start difference. First operand has 181 states, 165 states have (on average 1.2545454545454546) internal successors, (207), 180 states have internal predecessors, (207), 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 258 states. [2022-02-20 23:48:34,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:34,524 INFO L93 Difference]: Finished difference Result 258 states and 289 transitions. [2022-02-20 23:48:34,524 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 289 transitions. [2022-02-20 23:48:34,525 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:34,525 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:34,525 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:34,525 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:34,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 165 states have (on average 1.2545454545454546) internal successors, (207), 180 states have internal predecessors, (207), 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 23:48:34,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 207 transitions. [2022-02-20 23:48:34,527 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 207 transitions. Word has length 30 [2022-02-20 23:48:34,527 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:34,527 INFO L470 AbstractCegarLoop]: Abstraction has 181 states and 207 transitions. [2022-02-20 23:48:34,528 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 2.586206896551724) internal successors, (75), 29 states have internal predecessors, (75), 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 23:48:34,528 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 207 transitions. [2022-02-20 23:48:34,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 23:48:34,528 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:34,528 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:34,548 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 23:48:34,743 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-02-20 23:48:34,744 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr16REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:34,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:34,744 INFO L85 PathProgramCache]: Analyzing trace with hash 864210937, now seen corresponding path program 1 times [2022-02-20 23:48:34,744 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:34,744 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [361015949] [2022-02-20 23:48:34,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:34,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:34,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:34,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {12161#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(16, 2); {12161#true} is VALID [2022-02-20 23:48:34,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {12161#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {12163#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:34,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {12163#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {12163#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:34,940 INFO L290 TraceCheckUtils]: 3: Hoare triple {12163#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {12163#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:34,941 INFO L290 TraceCheckUtils]: 4: Hoare triple {12163#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {12164#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,941 INFO L290 TraceCheckUtils]: 5: Hoare triple {12164#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {12164#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,941 INFO L290 TraceCheckUtils]: 6: Hoare triple {12164#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {12164#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {12164#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {12164#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {12164#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:34,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:34,950 INFO L290 TraceCheckUtils]: 10: Hoare triple {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:34,950 INFO L290 TraceCheckUtils]: 11: Hoare triple {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:34,951 INFO L290 TraceCheckUtils]: 12: Hoare triple {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:34,951 INFO L290 TraceCheckUtils]: 13: Hoare triple {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {12166#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {12166#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {12166#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {12166#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {12167#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,953 INFO L290 TraceCheckUtils]: 16: Hoare triple {12167#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {12168#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:34,953 INFO L290 TraceCheckUtils]: 17: Hoare triple {12168#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {12169#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:34,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {12169#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {12169#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:34,954 INFO L290 TraceCheckUtils]: 19: Hoare triple {12169#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {12169#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:34,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {12169#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {12169#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:34,956 INFO L290 TraceCheckUtils]: 21: Hoare triple {12169#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {12170#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:34,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {12170#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,957 INFO L290 TraceCheckUtils]: 24: Hoare triple {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,957 INFO L290 TraceCheckUtils]: 25: Hoare triple {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,958 INFO L290 TraceCheckUtils]: 26: Hoare triple {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,958 INFO L290 TraceCheckUtils]: 27: Hoare triple {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,961 INFO L290 TraceCheckUtils]: 28: Hoare triple {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:34,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {12171#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {12172#(= (select |#valid| |ULTIMATE.start_main_#t~mem15#1.base|) 1)} is VALID [2022-02-20 23:48:34,962 INFO L290 TraceCheckUtils]: 30: Hoare triple {12172#(= (select |#valid| |ULTIMATE.start_main_#t~mem15#1.base|) 1)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12173#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:34,962 INFO L290 TraceCheckUtils]: 31: Hoare triple {12173#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume !(1 == #valid[main_~p~0#1.base]); {12162#false} is VALID [2022-02-20 23:48:34,962 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:34,963 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:34,963 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [361015949] [2022-02-20 23:48:34,963 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [361015949] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:34,963 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [476500401] [2022-02-20 23:48:34,963 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:34,964 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:34,964 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:34,965 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:48:34,966 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 23:48:35,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:35,069 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 30 conjunts are in the unsatisfiable core [2022-02-20 23:48:35,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:35,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:35,302 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:48:35,303 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 23:48:35,438 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 13 treesize of output 9 [2022-02-20 23:48:35,661 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:48:35,663 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 29 [2022-02-20 23:48:36,051 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 25 treesize of output 13 [2022-02-20 23:48:36,749 INFO L290 TraceCheckUtils]: 0: Hoare triple {12161#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(16, 2); {12161#true} is VALID [2022-02-20 23:48:36,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {12161#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:36,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:36,750 INFO L290 TraceCheckUtils]: 3: Hoare triple {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:36,751 INFO L290 TraceCheckUtils]: 4: Hoare triple {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {12190#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:36,762 INFO L290 TraceCheckUtils]: 5: Hoare triple {12190#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {12190#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:36,769 INFO L290 TraceCheckUtils]: 6: Hoare triple {12190#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {12190#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:36,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {12190#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {12190#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:36,770 INFO L290 TraceCheckUtils]: 8: Hoare triple {12190#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {12203#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:36,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {12203#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} havoc main_#t~nondet7#1; {12203#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:36,771 INFO L290 TraceCheckUtils]: 10: Hoare triple {12203#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {12203#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:36,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {12203#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {12203#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:36,772 INFO L290 TraceCheckUtils]: 12: Hoare triple {12203#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {12165#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {12219#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {12219#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {12219#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,779 INFO L290 TraceCheckUtils]: 15: Hoare triple {12219#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {12226#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,779 INFO L290 TraceCheckUtils]: 16: Hoare triple {12226#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {12230#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (= |ULTIMATE.start_main_#t~mem10#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)))} is VALID [2022-02-20 23:48:36,780 INFO L290 TraceCheckUtils]: 17: Hoare triple {12230#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (= |ULTIMATE.start_main_#t~mem10#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {12234#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {12234#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {12234#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {12234#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {12234#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {12234#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {12234#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,782 INFO L290 TraceCheckUtils]: 21: Hoare triple {12234#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {12247#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,782 INFO L290 TraceCheckUtils]: 22: Hoare triple {12247#(and (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:36,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:36,783 INFO L290 TraceCheckUtils]: 24: Hoare triple {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:36,784 INFO L290 TraceCheckUtils]: 25: Hoare triple {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:36,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:36,785 INFO L290 TraceCheckUtils]: 27: Hoare triple {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:36,785 INFO L290 TraceCheckUtils]: 28: Hoare triple {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:36,786 INFO L290 TraceCheckUtils]: 29: Hoare triple {12251#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {12273#(and (exists ((|ULTIMATE.start_main_~p~0#1.base| Int)) (and (not (= |ULTIMATE.start_main_#t~mem15#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))) (= (select |#valid| |ULTIMATE.start_main_#t~mem15#1.base|) 1))} is VALID [2022-02-20 23:48:36,786 INFO L290 TraceCheckUtils]: 30: Hoare triple {12273#(and (exists ((|ULTIMATE.start_main_~p~0#1.base| Int)) (and (not (= |ULTIMATE.start_main_#t~mem15#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))) (= (select |#valid| |ULTIMATE.start_main_#t~mem15#1.base|) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12277#(and (exists ((|v_ULTIMATE.start_main_~p~0#1.base_88| Int)) (and (not (= |v_ULTIMATE.start_main_~p~0#1.base_88| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~p~0#1.base_88|) 1))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:36,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {12277#(and (exists ((|v_ULTIMATE.start_main_~p~0#1.base_88| Int)) (and (not (= |v_ULTIMATE.start_main_~p~0#1.base_88| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~p~0#1.base_88|) 1))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(1 == #valid[main_~p~0#1.base]); {12162#false} is VALID [2022-02-20 23:48:36,787 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:36,787 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:36,864 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_660 (Array Int Int))) (= (select |c_#valid| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))) 1)) is different from false [2022-02-20 23:48:36,883 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_660 (Array Int Int))) (= (select |c_#valid| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_660) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))) 1)) is different from false [2022-02-20 23:48:36,889 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_660 (Array Int Int))) (= (select |c_#valid| (select (select (store |c_#memory_$Pointer$.base| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_660) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))) 1)) is different from false [2022-02-20 23:48:36,913 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:36,913 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 24 treesize of output 25 [2022-02-20 23:48:36,921 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:36,921 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 40 treesize of output 43 [2022-02-20 23:48:36,924 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 13 treesize of output 9 [2022-02-20 23:48:38,978 INFO L356 Elim1Store]: treesize reduction 18, result has 63.3 percent of original size [2022-02-20 23:48:38,979 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 45 treesize of output 67 [2022-02-20 23:48:39,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {12173#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume !(1 == #valid[main_~p~0#1.base]); {12162#false} is VALID [2022-02-20 23:48:39,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {12172#(= (select |#valid| |ULTIMATE.start_main_#t~mem15#1.base|) 1)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {12173#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:48:39,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {12172#(= (select |#valid| |ULTIMATE.start_main_#t~mem15#1.base|) 1)} is VALID [2022-02-20 23:48:39,419 INFO L290 TraceCheckUtils]: 28: Hoare triple {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:39,420 INFO L290 TraceCheckUtils]: 27: Hoare triple {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:39,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:39,420 INFO L290 TraceCheckUtils]: 25: Hoare triple {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:39,421 INFO L290 TraceCheckUtils]: 24: Hoare triple {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:39,421 INFO L290 TraceCheckUtils]: 23: Hoare triple {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:39,421 INFO L290 TraceCheckUtils]: 22: Hoare triple {12309#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {12287#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:39,422 INFO L290 TraceCheckUtils]: 21: Hoare triple {12313#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {12309#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1)} is VALID [2022-02-20 23:48:39,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {12313#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {12313#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:39,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {12313#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {12313#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:39,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {12313#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {12313#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:39,424 INFO L290 TraceCheckUtils]: 17: Hoare triple {12326#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {12313#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:39,425 INFO L290 TraceCheckUtils]: 16: Hoare triple {12330#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {12326#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:39,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {12334#(or (forall ((v_arrayElimCell_54 Int)) (= (select |#valid| v_arrayElimCell_54) 1)) (forall ((v_arrayElimCell_53 Int)) (or (and (= (select |#valid| v_arrayElimCell_53) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|))) (and (not (= |ULTIMATE.start_main_~t~0#1.base| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {12330#(forall ((v_ArrVal_660 (Array Int Int))) (= (select |#valid| (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_660) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 1))} is VALID [2022-02-20 23:48:39,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {12334#(or (forall ((v_arrayElimCell_54 Int)) (= (select |#valid| v_arrayElimCell_54) 1)) (forall ((v_arrayElimCell_53 Int)) (or (and (= (select |#valid| v_arrayElimCell_53) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|))) (and (not (= |ULTIMATE.start_main_~t~0#1.base| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {12334#(or (forall ((v_arrayElimCell_54 Int)) (= (select |#valid| v_arrayElimCell_54) 1)) (forall ((v_arrayElimCell_53 Int)) (or (and (= (select |#valid| v_arrayElimCell_53) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|))) (and (not (= |ULTIMATE.start_main_~t~0#1.base| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:39,430 INFO L290 TraceCheckUtils]: 13: Hoare triple {12341#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1)))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {12334#(or (forall ((v_arrayElimCell_54 Int)) (= (select |#valid| v_arrayElimCell_54) 1)) (forall ((v_arrayElimCell_53 Int)) (or (and (= (select |#valid| v_arrayElimCell_53) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|))) (and (not (= |ULTIMATE.start_main_~t~0#1.base| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))))} is VALID [2022-02-20 23:48:39,436 INFO L290 TraceCheckUtils]: 12: Hoare triple {12345#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1))))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {12341#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1)))} is VALID [2022-02-20 23:48:39,438 INFO L290 TraceCheckUtils]: 11: Hoare triple {12345#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1))))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {12345#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1))))} is VALID [2022-02-20 23:48:39,450 INFO L290 TraceCheckUtils]: 10: Hoare triple {12345#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {12345#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1))))} is VALID [2022-02-20 23:48:39,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {12345#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1))))} havoc main_#t~nondet7#1; {12345#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1))))} is VALID [2022-02-20 23:48:39,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {12358#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {12345#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_15| Int) (v_arrayElimCell_54 Int) (v_arrayElimCell_53 Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| v_arrayElimCell_53)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_15| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_53) 1)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15|) 0)) (= (select (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_15| 1) v_arrayElimCell_54) 1))))} is VALID [2022-02-20 23:48:39,457 INFO L290 TraceCheckUtils]: 7: Hoare triple {12358#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {12358#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:39,457 INFO L290 TraceCheckUtils]: 6: Hoare triple {12358#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {12358#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:39,458 INFO L290 TraceCheckUtils]: 5: Hoare triple {12358#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {12358#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:39,458 INFO L290 TraceCheckUtils]: 4: Hoare triple {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {12358#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:39,459 INFO L290 TraceCheckUtils]: 3: Hoare triple {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:39,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:39,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {12161#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {12180#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:39,460 INFO L290 TraceCheckUtils]: 0: Hoare triple {12161#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(16, 2); {12161#true} is VALID [2022-02-20 23:48:39,460 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 23:48:39,460 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [476500401] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:39,460 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:39,460 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13, 13] total 32 [2022-02-20 23:48:39,460 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [228495533] [2022-02-20 23:48:39,460 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:39,461 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 32 states have (on average 2.78125) internal successors, (89), 33 states have internal predecessors, (89), 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 32 [2022-02-20 23:48:39,461 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:39,461 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 32 states have (on average 2.78125) internal successors, (89), 33 states have internal predecessors, (89), 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 23:48:46,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 86 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:46,787 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-02-20 23:48:46,787 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:46,787 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-02-20 23:48:46,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=712, Unknown=3, NotChecked=174, Total=1056 [2022-02-20 23:48:46,788 INFO L87 Difference]: Start difference. First operand 181 states and 207 transitions. Second operand has 33 states, 32 states have (on average 2.78125) internal successors, (89), 33 states have internal predecessors, (89), 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 23:48:48,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:48,484 INFO L93 Difference]: Finished difference Result 259 states and 289 transitions. [2022-02-20 23:48:48,484 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 23:48:48,484 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 32 states have (on average 2.78125) internal successors, (89), 33 states have internal predecessors, (89), 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 32 [2022-02-20 23:48:48,485 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:48,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 32 states have (on average 2.78125) internal successors, (89), 33 states have internal predecessors, (89), 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 23:48:48,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 230 transitions. [2022-02-20 23:48:48,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 32 states have (on average 2.78125) internal successors, (89), 33 states have internal predecessors, (89), 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 23:48:48,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 230 transitions. [2022-02-20 23:48:48,487 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 230 transitions. [2022-02-20 23:48:48,614 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 230 edges. 230 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:48,617 INFO L225 Difference]: With dead ends: 259 [2022-02-20 23:48:48,617 INFO L226 Difference]: Without dead ends: 259 [2022-02-20 23:48:48,618 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 43 SyntacticMatches, 4 SemanticMatches, 37 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 491 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=261, Invalid=1008, Unknown=3, NotChecked=210, Total=1482 [2022-02-20 23:48:48,618 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 1027 mSDsluCounter, 425 mSDsCounter, 0 mSdLazyCounter, 596 mSolverCounterSat, 124 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1027 SdHoareTripleChecker+Valid, 467 SdHoareTripleChecker+Invalid, 1310 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 124 IncrementalHoareTripleChecker+Valid, 596 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 590 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:48,619 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1027 Valid, 467 Invalid, 1310 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [124 Valid, 596 Invalid, 0 Unknown, 590 Unchecked, 0.5s Time] [2022-02-20 23:48:48,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states. [2022-02-20 23:48:48,621 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 184. [2022-02-20 23:48:48,621 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:48,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 259 states. Second operand has 184 states, 168 states have (on average 1.255952380952381) internal successors, (211), 183 states have internal predecessors, (211), 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 23:48:48,622 INFO L74 IsIncluded]: Start isIncluded. First operand 259 states. Second operand has 184 states, 168 states have (on average 1.255952380952381) internal successors, (211), 183 states have internal predecessors, (211), 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 23:48:48,622 INFO L87 Difference]: Start difference. First operand 259 states. Second operand has 184 states, 168 states have (on average 1.255952380952381) internal successors, (211), 183 states have internal predecessors, (211), 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 23:48:48,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:48,625 INFO L93 Difference]: Finished difference Result 259 states and 289 transitions. [2022-02-20 23:48:48,625 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 289 transitions. [2022-02-20 23:48:48,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:48,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:48,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 184 states, 168 states have (on average 1.255952380952381) internal successors, (211), 183 states have internal predecessors, (211), 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 259 states. [2022-02-20 23:48:48,626 INFO L87 Difference]: Start difference. First operand has 184 states, 168 states have (on average 1.255952380952381) internal successors, (211), 183 states have internal predecessors, (211), 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 259 states. [2022-02-20 23:48:48,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:48,629 INFO L93 Difference]: Finished difference Result 259 states and 289 transitions. [2022-02-20 23:48:48,629 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 289 transitions. [2022-02-20 23:48:48,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:48,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:48,630 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:48,630 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:48,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 184 states, 168 states have (on average 1.255952380952381) internal successors, (211), 183 states have internal predecessors, (211), 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 23:48:48,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 211 transitions. [2022-02-20 23:48:48,632 INFO L78 Accepts]: Start accepts. Automaton has 184 states and 211 transitions. Word has length 32 [2022-02-20 23:48:48,632 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:48,632 INFO L470 AbstractCegarLoop]: Abstraction has 184 states and 211 transitions. [2022-02-20 23:48:48,632 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 32 states have (on average 2.78125) internal successors, (89), 33 states have internal predecessors, (89), 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 23:48:48,632 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 211 transitions. [2022-02-20 23:48:48,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 23:48:48,633 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:48,633 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:48,658 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:48:48,858 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:48,858 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr17REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:48,859 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:48,859 INFO L85 PathProgramCache]: Analyzing trace with hash 864210938, now seen corresponding path program 1 times [2022-02-20 23:48:48,859 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:48,859 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1588540110] [2022-02-20 23:48:48,859 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:48,859 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:48,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:49,100 INFO L290 TraceCheckUtils]: 0: Hoare triple {13359#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(16, 2); {13359#true} is VALID [2022-02-20 23:48:49,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {13359#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {13361#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:49,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {13361#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {13361#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:49,101 INFO L290 TraceCheckUtils]: 3: Hoare triple {13361#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {13361#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:49,101 INFO L290 TraceCheckUtils]: 4: Hoare triple {13361#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {13362#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,102 INFO L290 TraceCheckUtils]: 5: Hoare triple {13362#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {13362#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,102 INFO L290 TraceCheckUtils]: 6: Hoare triple {13362#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {13362#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,103 INFO L290 TraceCheckUtils]: 7: Hoare triple {13362#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {13362#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,103 INFO L290 TraceCheckUtils]: 8: Hoare triple {13362#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:49,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:49,104 INFO L290 TraceCheckUtils]: 10: Hoare triple {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:49,105 INFO L290 TraceCheckUtils]: 11: Hoare triple {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:49,105 INFO L290 TraceCheckUtils]: 12: Hoare triple {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:49,106 INFO L290 TraceCheckUtils]: 13: Hoare triple {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {13364#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~t~0#1.base|) 12) (= |ULTIMATE.start_main_~t~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,106 INFO L290 TraceCheckUtils]: 14: Hoare triple {13364#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~t~0#1.base|) 12) (= |ULTIMATE.start_main_~t~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {13364#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~t~0#1.base|) 12) (= |ULTIMATE.start_main_~t~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {13364#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~t~0#1.base|) 12) (= |ULTIMATE.start_main_~t~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {13365#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,108 INFO L290 TraceCheckUtils]: 16: Hoare triple {13365#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {13366#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:49,109 INFO L290 TraceCheckUtils]: 17: Hoare triple {13366#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {13367#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:49,109 INFO L290 TraceCheckUtils]: 18: Hoare triple {13367#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} main_#t~short5#1 := main_~i~0#1 < 20; {13367#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:49,110 INFO L290 TraceCheckUtils]: 19: Hoare triple {13367#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {13367#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:49,110 INFO L290 TraceCheckUtils]: 20: Hoare triple {13367#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {13367#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:49,111 INFO L290 TraceCheckUtils]: 21: Hoare triple {13367#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {13368#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} is VALID [2022-02-20 23:48:49,112 INFO L290 TraceCheckUtils]: 22: Hoare triple {13368#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,112 INFO L290 TraceCheckUtils]: 23: Hoare triple {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,113 INFO L290 TraceCheckUtils]: 24: Hoare triple {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,113 INFO L290 TraceCheckUtils]: 25: Hoare triple {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,114 INFO L290 TraceCheckUtils]: 26: Hoare triple {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,114 INFO L290 TraceCheckUtils]: 27: Hoare triple {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,115 INFO L290 TraceCheckUtils]: 28: Hoare triple {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,115 INFO L290 TraceCheckUtils]: 29: Hoare triple {13369#(and (= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {13370#(and (= (select |#length| |ULTIMATE.start_main_#t~mem15#1.base|) 12) (= |ULTIMATE.start_main_#t~mem15#1.offset| 0))} is VALID [2022-02-20 23:48:49,116 INFO L290 TraceCheckUtils]: 30: Hoare triple {13370#(and (= (select |#length| |ULTIMATE.start_main_#t~mem15#1.base|) 12) (= |ULTIMATE.start_main_#t~mem15#1.offset| 0))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13371#(and (= (select |#length| |ULTIMATE.start_main_~p~0#1.base|) 12) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,116 INFO L290 TraceCheckUtils]: 31: Hoare triple {13371#(and (= (select |#length| |ULTIMATE.start_main_~p~0#1.base|) 12) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(4 + main_~p~0#1.offset <= #length[main_~p~0#1.base] && 0 <= main_~p~0#1.offset); {13360#false} is VALID [2022-02-20 23:48:49,116 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:49,116 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:49,116 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1588540110] [2022-02-20 23:48:49,117 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1588540110] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:49,117 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2115773957] [2022-02-20 23:48:49,117 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:49,117 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:49,117 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:49,128 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:48:49,185 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 23:48:49,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:49,275 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 40 conjunts are in the unsatisfiable core [2022-02-20 23:48:49,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:49,286 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:49,490 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 23:48:49,500 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:48:49,501 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 11 treesize of output 11 [2022-02-20 23:48:49,565 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 23:48:49,576 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 13 treesize of output 9 [2022-02-20 23:48:49,735 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:48:49,736 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 46 treesize of output 45 [2022-02-20 23:48:49,745 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 22 treesize of output 24 [2022-02-20 23:48:49,882 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 25 treesize of output 13 [2022-02-20 23:48:49,901 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 23:48:49,948 INFO L290 TraceCheckUtils]: 0: Hoare triple {13359#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(16, 2); {13359#true} is VALID [2022-02-20 23:48:49,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {13359#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:49,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:49,949 INFO L290 TraceCheckUtils]: 3: Hoare triple {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:49,949 INFO L290 TraceCheckUtils]: 4: Hoare triple {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {13388#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {13388#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {13388#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,950 INFO L290 TraceCheckUtils]: 6: Hoare triple {13388#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {13388#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {13388#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {13388#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,951 INFO L290 TraceCheckUtils]: 8: Hoare triple {13388#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {13401#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {13401#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} havoc main_#t~nondet7#1; {13401#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,952 INFO L290 TraceCheckUtils]: 10: Hoare triple {13401#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {13401#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,953 INFO L290 TraceCheckUtils]: 11: Hoare triple {13401#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {13401#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,954 INFO L290 TraceCheckUtils]: 12: Hoare triple {13401#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:49,954 INFO L290 TraceCheckUtils]: 13: Hoare triple {13363#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {13417#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~t~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} is VALID [2022-02-20 23:48:49,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {13417#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~t~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {13417#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~t~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} is VALID [2022-02-20 23:48:49,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {13417#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~t~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (<= 12 (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {13424#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:49,956 INFO L290 TraceCheckUtils]: 16: Hoare triple {13424#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {13428#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem10#1.base|) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:49,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {13428#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem10#1.base|) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {13432#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:49,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {13432#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {13432#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:49,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {13432#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {13432#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:49,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {13432#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {13432#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:49,960 INFO L290 TraceCheckUtils]: 21: Hoare triple {13432#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {13445#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:49,960 INFO L290 TraceCheckUtils]: 22: Hoare triple {13445#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} is VALID [2022-02-20 23:48:49,961 INFO L290 TraceCheckUtils]: 23: Hoare triple {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} is VALID [2022-02-20 23:48:49,962 INFO L290 TraceCheckUtils]: 24: Hoare triple {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} is VALID [2022-02-20 23:48:49,962 INFO L290 TraceCheckUtils]: 25: Hoare triple {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} is VALID [2022-02-20 23:48:49,963 INFO L290 TraceCheckUtils]: 26: Hoare triple {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} is VALID [2022-02-20 23:48:49,963 INFO L290 TraceCheckUtils]: 27: Hoare triple {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} is VALID [2022-02-20 23:48:49,964 INFO L290 TraceCheckUtils]: 28: Hoare triple {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} is VALID [2022-02-20 23:48:49,964 INFO L290 TraceCheckUtils]: 29: Hoare triple {13449#(and (<= 12 (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8) 0))} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {13471#(and (<= 12 (select |#length| |ULTIMATE.start_main_#t~mem15#1.base|)) (= |ULTIMATE.start_main_#t~mem15#1.offset| 0))} is VALID [2022-02-20 23:48:49,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {13471#(and (<= 12 (select |#length| |ULTIMATE.start_main_#t~mem15#1.base|)) (= |ULTIMATE.start_main_#t~mem15#1.offset| 0))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13475#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:49,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {13475#(and (<= 12 (select |#length| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(4 + main_~p~0#1.offset <= #length[main_~p~0#1.base] && 0 <= main_~p~0#1.offset); {13360#false} is VALID [2022-02-20 23:48:49,966 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:49,966 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:50,147 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (let ((.cse0 (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))) (<= (+ (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |c_ULTIMATE.start_main_~a~0#1.base|) .cse0) 4) (select |c_#length| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |c_ULTIMATE.start_main_~a~0#1.base|) .cse0)))))) is different from false [2022-02-20 23:48:50,197 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (let ((.cse0 (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))) (<= (+ (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_735) |c_ULTIMATE.start_main_~a~0#1.base|) .cse0) 4) (select |c_#length| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_734) |c_ULTIMATE.start_main_~a~0#1.base|) .cse0))))) (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_735) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))))) is different from false [2022-02-20 23:48:50,218 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (let ((.cse0 (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8))) (.cse1 (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))) (<= (+ (select (select (store |c_#memory_$Pointer$.offset| .cse0 v_ArrVal_735) |c_ULTIMATE.start_main_~a~0#1.base|) .cse1) 4) (select |c_#length| (select (select (store |c_#memory_$Pointer$.base| .cse0 v_ArrVal_734) |c_ULTIMATE.start_main_~a~0#1.base|) .cse1))))) (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |c_#memory_$Pointer$.offset| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_735) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))))) is different from false [2022-02-20 23:48:50,249 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:50,249 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 45 treesize of output 46 [2022-02-20 23:48:50,254 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:50,254 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 35 treesize of output 36 [2022-02-20 23:48:50,264 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:50,265 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 62 treesize of output 65 [2022-02-20 23:48:50,282 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:50,282 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 96 treesize of output 93 [2022-02-20 23:48:50,286 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 74 treesize of output 66 [2022-02-20 23:48:50,291 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 36 treesize of output 28 [2022-02-20 23:48:50,461 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:50,462 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 22 treesize of output 23 [2022-02-20 23:48:50,464 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:48:50,470 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:48:50,471 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 8 [2022-02-20 23:48:50,814 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:48:50,815 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 13 treesize of output 12 [2022-02-20 23:48:50,986 INFO L290 TraceCheckUtils]: 31: Hoare triple {13479#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= (+ |ULTIMATE.start_main_~p~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~p~0#1.base|)))} assume !(4 + main_~p~0#1.offset <= #length[main_~p~0#1.base] && 0 <= main_~p~0#1.offset); {13360#false} is VALID [2022-02-20 23:48:50,986 INFO L290 TraceCheckUtils]: 30: Hoare triple {13483#(and (<= 0 |ULTIMATE.start_main_#t~mem15#1.offset|) (<= (+ 4 |ULTIMATE.start_main_#t~mem15#1.offset|) (select |#length| |ULTIMATE.start_main_#t~mem15#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {13479#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= (+ |ULTIMATE.start_main_~p~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:50,987 INFO L290 TraceCheckUtils]: 29: Hoare triple {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {13483#(and (<= 0 |ULTIMATE.start_main_#t~mem15#1.offset|) (<= (+ 4 |ULTIMATE.start_main_#t~mem15#1.offset|) (select |#length| |ULTIMATE.start_main_#t~mem15#1.base|)))} is VALID [2022-02-20 23:48:50,987 INFO L290 TraceCheckUtils]: 28: Hoare triple {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,988 INFO L290 TraceCheckUtils]: 26: Hoare triple {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,989 INFO L290 TraceCheckUtils]: 24: Hoare triple {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,990 INFO L290 TraceCheckUtils]: 23: Hoare triple {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,991 INFO L290 TraceCheckUtils]: 22: Hoare triple {13509#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {13487#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,992 INFO L290 TraceCheckUtils]: 21: Hoare triple {13513#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {13509#(and (<= 0 (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (<= (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,993 INFO L290 TraceCheckUtils]: 20: Hoare triple {13513#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {13513#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:50,993 INFO L290 TraceCheckUtils]: 19: Hoare triple {13513#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {13513#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:50,994 INFO L290 TraceCheckUtils]: 18: Hoare triple {13513#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} main_#t~short5#1 := main_~i~0#1 < 20; {13513#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:50,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {13526#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {13513#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:50,996 INFO L290 TraceCheckUtils]: 16: Hoare triple {13530#(and (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))) (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {13526#(and (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:50,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {13534#(and (<= 0 |ULTIMATE.start_main_~t~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= (+ |ULTIMATE.start_main_~t~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {13530#(and (forall ((v_ArrVal_735 (Array Int Int)) (v_ArrVal_734 (Array Int Int))) (<= (+ (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) 4) (select |#length| (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_734) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))) (forall ((v_ArrVal_735 (Array Int Int))) (<= 0 (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_735) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:48:50,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {13534#(and (<= 0 |ULTIMATE.start_main_~t~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= (+ |ULTIMATE.start_main_~t~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {13534#(and (<= 0 |ULTIMATE.start_main_~t~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= (+ |ULTIMATE.start_main_~t~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} is VALID [2022-02-20 23:48:50,998 INFO L290 TraceCheckUtils]: 13: Hoare triple {13541#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0))))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {13534#(and (<= 0 |ULTIMATE.start_main_~t~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= (+ |ULTIMATE.start_main_~t~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~t~0#1.base|)))} is VALID [2022-02-20 23:48:50,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {13545#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0)))))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {13541#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0))))} is VALID [2022-02-20 23:48:51,000 INFO L290 TraceCheckUtils]: 11: Hoare triple {13545#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0)))))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {13545#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0)))))} is VALID [2022-02-20 23:48:51,000 INFO L290 TraceCheckUtils]: 10: Hoare triple {13545#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0)))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {13545#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0)))))} is VALID [2022-02-20 23:48:51,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {13545#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0)))))} havoc main_#t~nondet7#1; {13545#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0)))))} is VALID [2022-02-20 23:48:51,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {13558#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {13545#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_17| Int)) (or (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_17| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_17|) 0)))))} is VALID [2022-02-20 23:48:51,003 INFO L290 TraceCheckUtils]: 7: Hoare triple {13558#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {13558#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:51,003 INFO L290 TraceCheckUtils]: 6: Hoare triple {13558#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {13558#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:51,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {13558#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {13558#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:51,004 INFO L290 TraceCheckUtils]: 4: Hoare triple {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {13558#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:51,004 INFO L290 TraceCheckUtils]: 3: Hoare triple {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:51,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:51,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {13359#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {13378#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:51,005 INFO L290 TraceCheckUtils]: 0: Hoare triple {13359#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(16, 2); {13359#true} is VALID [2022-02-20 23:48:51,006 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 23:48:51,006 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2115773957] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:51,006 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:51,006 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13, 13] total 34 [2022-02-20 23:48:51,006 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [337527229] [2022-02-20 23:48:51,006 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:51,009 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 2.676470588235294) internal successors, (91), 35 states have internal predecessors, (91), 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 32 [2022-02-20 23:48:51,010 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:51,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 35 states, 34 states have (on average 2.676470588235294) internal successors, (91), 35 states have internal predecessors, (91), 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 23:48:51,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:51,088 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-02-20 23:48:51,088 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:51,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-02-20 23:48:51,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=152, Invalid=849, Unknown=3, NotChecked=186, Total=1190 [2022-02-20 23:48:51,089 INFO L87 Difference]: Start difference. First operand 184 states and 211 transitions. Second operand has 35 states, 34 states have (on average 2.676470588235294) internal successors, (91), 35 states have internal predecessors, (91), 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 23:48:53,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:53,566 INFO L93 Difference]: Finished difference Result 267 states and 301 transitions. [2022-02-20 23:48:53,566 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-20 23:48:53,566 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 2.676470588235294) internal successors, (91), 35 states have internal predecessors, (91), 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 32 [2022-02-20 23:48:53,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:53,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 2.676470588235294) internal successors, (91), 35 states have internal predecessors, (91), 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 23:48:53,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 253 transitions. [2022-02-20 23:48:53,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 2.676470588235294) internal successors, (91), 35 states have internal predecessors, (91), 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 23:48:53,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 253 transitions. [2022-02-20 23:48:53,569 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 253 transitions. [2022-02-20 23:48:53,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 253 edges. 253 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:53,758 INFO L225 Difference]: With dead ends: 267 [2022-02-20 23:48:53,758 INFO L226 Difference]: Without dead ends: 267 [2022-02-20 23:48:53,758 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 41 SyntacticMatches, 2 SemanticMatches, 49 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 593 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=385, Invalid=1880, Unknown=3, NotChecked=282, Total=2550 [2022-02-20 23:48:53,759 INFO L933 BasicCegarLoop]: 54 mSDtfsCounter, 598 mSDsluCounter, 751 mSDsCounter, 0 mSdLazyCounter, 928 mSolverCounterSat, 100 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 598 SdHoareTripleChecker+Valid, 805 SdHoareTripleChecker+Invalid, 1611 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 100 IncrementalHoareTripleChecker+Valid, 928 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 583 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:53,759 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [598 Valid, 805 Invalid, 1611 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [100 Valid, 928 Invalid, 0 Unknown, 583 Unchecked, 0.8s Time] [2022-02-20 23:48:53,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 267 states. [2022-02-20 23:48:53,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 267 to 179. [2022-02-20 23:48:53,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:53,763 INFO L82 GeneralOperation]: Start isEquivalent. First operand 267 states. Second operand has 179 states, 166 states have (on average 1.2349397590361446) internal successors, (205), 178 states have internal predecessors, (205), 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 23:48:53,763 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand has 179 states, 166 states have (on average 1.2349397590361446) internal successors, (205), 178 states have internal predecessors, (205), 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 23:48:53,763 INFO L87 Difference]: Start difference. First operand 267 states. Second operand has 179 states, 166 states have (on average 1.2349397590361446) internal successors, (205), 178 states have internal predecessors, (205), 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 23:48:53,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:53,766 INFO L93 Difference]: Finished difference Result 267 states and 301 transitions. [2022-02-20 23:48:53,766 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 301 transitions. [2022-02-20 23:48:53,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:53,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:53,767 INFO L74 IsIncluded]: Start isIncluded. First operand has 179 states, 166 states have (on average 1.2349397590361446) internal successors, (205), 178 states have internal predecessors, (205), 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 267 states. [2022-02-20 23:48:53,767 INFO L87 Difference]: Start difference. First operand has 179 states, 166 states have (on average 1.2349397590361446) internal successors, (205), 178 states have internal predecessors, (205), 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 267 states. [2022-02-20 23:48:53,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:53,770 INFO L93 Difference]: Finished difference Result 267 states and 301 transitions. [2022-02-20 23:48:53,771 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 301 transitions. [2022-02-20 23:48:53,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:53,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:53,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:53,771 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:53,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 179 states, 166 states have (on average 1.2349397590361446) internal successors, (205), 178 states have internal predecessors, (205), 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 23:48:53,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 205 transitions. [2022-02-20 23:48:53,774 INFO L78 Accepts]: Start accepts. Automaton has 179 states and 205 transitions. Word has length 32 [2022-02-20 23:48:53,774 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:53,774 INFO L470 AbstractCegarLoop]: Abstraction has 179 states and 205 transitions. [2022-02-20 23:48:53,774 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 34 states have (on average 2.676470588235294) internal successors, (91), 35 states have internal predecessors, (91), 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 23:48:53,774 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 205 transitions. [2022-02-20 23:48:53,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 23:48:53,775 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:53,775 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:53,794 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-20 23:48:53,997 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:53,997 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr44ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:53,997 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:53,997 INFO L85 PathProgramCache]: Analyzing trace with hash 1554334094, now seen corresponding path program 1 times [2022-02-20 23:48:53,998 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:53,998 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1300108324] [2022-02-20 23:48:53,998 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:53,998 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:54,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:54,096 INFO L290 TraceCheckUtils]: 0: Hoare triple {14596#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(16, 2); {14596#true} is VALID [2022-02-20 23:48:54,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {14596#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {14596#true} is VALID [2022-02-20 23:48:54,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {14596#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {14596#true} is VALID [2022-02-20 23:48:54,096 INFO L290 TraceCheckUtils]: 3: Hoare triple {14596#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {14596#true} is VALID [2022-02-20 23:48:54,097 INFO L290 TraceCheckUtils]: 4: Hoare triple {14596#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {14598#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:54,097 INFO L290 TraceCheckUtils]: 5: Hoare triple {14598#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {14598#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:54,097 INFO L290 TraceCheckUtils]: 6: Hoare triple {14598#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {14598#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:54,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {14598#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {14598#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:54,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {14598#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {14599#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:54,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {14599#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {14599#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:54,099 INFO L290 TraceCheckUtils]: 10: Hoare triple {14599#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {14599#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:54,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {14599#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {14599#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:54,100 INFO L290 TraceCheckUtils]: 12: Hoare triple {14599#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {14600#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:54,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {14600#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {14601#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:54,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {14601#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {14601#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:54,101 INFO L290 TraceCheckUtils]: 15: Hoare triple {14601#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {14602#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:54,102 INFO L290 TraceCheckUtils]: 16: Hoare triple {14602#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {14603#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:48:54,102 INFO L290 TraceCheckUtils]: 17: Hoare triple {14603#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {14604#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:54,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {14604#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {14604#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:54,103 INFO L290 TraceCheckUtils]: 19: Hoare triple {14604#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {14604#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:54,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {14604#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {14604#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:54,104 INFO L290 TraceCheckUtils]: 21: Hoare triple {14604#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {14605#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2)} is VALID [2022-02-20 23:48:54,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {14605#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 2)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {14606#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} is VALID [2022-02-20 23:48:54,105 INFO L290 TraceCheckUtils]: 23: Hoare triple {14606#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 2)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {14607#(= 2 |ULTIMATE.start_main_#t~mem11#1|)} is VALID [2022-02-20 23:48:54,105 INFO L290 TraceCheckUtils]: 24: Hoare triple {14607#(= 2 |ULTIMATE.start_main_#t~mem11#1|)} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {14597#false} is VALID [2022-02-20 23:48:54,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {14597#false} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {14597#false} is VALID [2022-02-20 23:48:54,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {14597#false} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {14597#false} is VALID [2022-02-20 23:48:54,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {14597#false} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {14597#false} is VALID [2022-02-20 23:48:54,105 INFO L290 TraceCheckUtils]: 28: Hoare triple {14597#false} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {14597#false} is VALID [2022-02-20 23:48:54,105 INFO L290 TraceCheckUtils]: 29: Hoare triple {14597#false} assume main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {14597#false} is VALID [2022-02-20 23:48:54,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {14597#false} assume 0 == main_~p~0#1.offset; {14597#false} is VALID [2022-02-20 23:48:54,106 INFO L290 TraceCheckUtils]: 31: Hoare triple {14597#false} assume main_~p~0#1.base < #StackHeapBarrier; {14597#false} is VALID [2022-02-20 23:48:54,106 INFO L290 TraceCheckUtils]: 32: Hoare triple {14597#false} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset);main_~p~0#1.base, main_~p~0#1.offset := 0, 0; {14597#false} is VALID [2022-02-20 23:48:54,106 INFO L290 TraceCheckUtils]: 33: Hoare triple {14597#false} main_#res#1 := 0; {14597#false} is VALID [2022-02-20 23:48:54,106 INFO L290 TraceCheckUtils]: 34: Hoare triple {14597#false} assume !(#valid == main_old_#valid#1); {14597#false} is VALID [2022-02-20 23:48:54,106 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:54,106 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:54,106 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1300108324] [2022-02-20 23:48:54,107 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1300108324] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:54,107 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1157268756] [2022-02-20 23:48:54,107 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:54,107 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:54,107 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:54,109 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:48:54,110 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 23:48:54,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:54,230 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 23:48:54,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:54,244 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:54,350 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:48:54,350 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 11 treesize of output 11 [2022-02-20 23:48:54,401 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 13 treesize of output 9 [2022-02-20 23:48:54,776 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:48:54,778 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 33 treesize of output 34 [2022-02-20 23:48:55,153 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:55,154 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 30 treesize of output 24 [2022-02-20 23:48:55,246 INFO L290 TraceCheckUtils]: 0: Hoare triple {14596#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(16, 2); {14596#true} is VALID [2022-02-20 23:48:55,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {14596#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:55,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:55,247 INFO L290 TraceCheckUtils]: 3: Hoare triple {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:55,248 INFO L290 TraceCheckUtils]: 4: Hoare triple {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {14624#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:55,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {14624#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {14624#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:55,248 INFO L290 TraceCheckUtils]: 6: Hoare triple {14624#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {14624#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:55,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {14624#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {14624#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:55,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {14624#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {14637#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:55,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {14637#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {14637#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:55,250 INFO L290 TraceCheckUtils]: 10: Hoare triple {14637#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {14637#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:55,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {14637#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {14637#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:55,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {14637#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {14650#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:48:55,251 INFO L290 TraceCheckUtils]: 13: Hoare triple {14650#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {14654#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:55,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {14654#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {14654#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:55,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {14654#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {14661#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0)))} is VALID [2022-02-20 23:48:55,253 INFO L290 TraceCheckUtils]: 16: Hoare triple {14661#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0)))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {14665#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= |ULTIMATE.start_main_#t~mem10#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,254 INFO L290 TraceCheckUtils]: 17: Hoare triple {14665#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= |ULTIMATE.start_main_#t~mem10#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {14669#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,254 INFO L290 TraceCheckUtils]: 18: Hoare triple {14669#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} main_#t~short5#1 := main_~i~0#1 < 20; {14669#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,255 INFO L290 TraceCheckUtils]: 19: Hoare triple {14669#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {14669#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {14669#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {14669#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,256 INFO L290 TraceCheckUtils]: 21: Hoare triple {14669#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,257 INFO L290 TraceCheckUtils]: 22: Hoare triple {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,257 INFO L290 TraceCheckUtils]: 23: Hoare triple {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,259 INFO L290 TraceCheckUtils]: 25: Hoare triple {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:55,259 INFO L290 TraceCheckUtils]: 26: Hoare triple {14682#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {14698#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} is VALID [2022-02-20 23:48:55,260 INFO L290 TraceCheckUtils]: 27: Hoare triple {14698#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {14698#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} is VALID [2022-02-20 23:48:55,260 INFO L290 TraceCheckUtils]: 28: Hoare triple {14698#(exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {14705#(or (not (= |ULTIMATE.start_main_#t~mem18#1.base| 0)) (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:55,261 INFO L290 TraceCheckUtils]: 29: Hoare triple {14705#(or (not (= |ULTIMATE.start_main_#t~mem18#1.base| 0)) (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {14709#(or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:55,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {14709#(or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0))} assume 0 == main_~p~0#1.offset; {14597#false} is VALID [2022-02-20 23:48:55,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {14597#false} assume main_~p~0#1.base < #StackHeapBarrier; {14597#false} is VALID [2022-02-20 23:48:55,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {14597#false} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset);main_~p~0#1.base, main_~p~0#1.offset := 0, 0; {14597#false} is VALID [2022-02-20 23:48:55,261 INFO L290 TraceCheckUtils]: 33: Hoare triple {14597#false} main_#res#1 := 0; {14597#false} is VALID [2022-02-20 23:48:55,261 INFO L290 TraceCheckUtils]: 34: Hoare triple {14597#false} assume !(#valid == main_old_#valid#1); {14597#false} is VALID [2022-02-20 23:48:55,262 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:55,262 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:55,771 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0)))) is different from false [2022-02-20 23:48:56,038 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_808) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0)))) is different from false [2022-02-20 23:48:56,093 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_808 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_87| Int)) (or (< 0 |v_ULTIMATE.start_main_~p~0#1.offset_87|) (< |v_ULTIMATE.start_main_~p~0#1.offset_87| 0) (not (= (select (select (store |c_#memory_$Pointer$.base| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_808) |c_ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_87| 8)) 0)))) is different from false [2022-02-20 23:48:56,148 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:56,148 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 23 treesize of output 24 [2022-02-20 23:48:56,165 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:48:56,166 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 39 treesize of output 42 [2022-02-20 23:48:56,180 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 22 treesize of output 18 [2022-02-20 23:48:56,707 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:48:56,708 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 13 treesize of output 12 [2022-02-20 23:48:56,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {14597#false} assume !(#valid == main_old_#valid#1); {14597#false} is VALID [2022-02-20 23:48:56,787 INFO L290 TraceCheckUtils]: 33: Hoare triple {14597#false} main_#res#1 := 0; {14597#false} is VALID [2022-02-20 23:48:56,787 INFO L290 TraceCheckUtils]: 32: Hoare triple {14597#false} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset);main_~p~0#1.base, main_~p~0#1.offset := 0, 0; {14597#false} is VALID [2022-02-20 23:48:56,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {14597#false} assume main_~p~0#1.base < #StackHeapBarrier; {14597#false} is VALID [2022-02-20 23:48:56,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {14709#(or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0))} assume 0 == main_~p~0#1.offset; {14597#false} is VALID [2022-02-20 23:48:56,788 INFO L290 TraceCheckUtils]: 29: Hoare triple {14705#(or (not (= |ULTIMATE.start_main_#t~mem18#1.base| 0)) (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {14709#(or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:56,788 INFO L290 TraceCheckUtils]: 28: Hoare triple {14743#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {14705#(or (not (= |ULTIMATE.start_main_#t~mem18#1.base| 0)) (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:48:56,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {14743#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {14743#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} is VALID [2022-02-20 23:48:56,790 INFO L290 TraceCheckUtils]: 26: Hoare triple {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {14743#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} is VALID [2022-02-20 23:48:56,790 INFO L290 TraceCheckUtils]: 25: Hoare triple {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:56,791 INFO L290 TraceCheckUtils]: 24: Hoare triple {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:56,791 INFO L290 TraceCheckUtils]: 23: Hoare triple {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:56,792 INFO L290 TraceCheckUtils]: 22: Hoare triple {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:56,793 INFO L290 TraceCheckUtils]: 21: Hoare triple {14766#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {14750#(forall ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= 0 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))))} is VALID [2022-02-20 23:48:56,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {14766#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {14766#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} is VALID [2022-02-20 23:48:56,793 INFO L290 TraceCheckUtils]: 19: Hoare triple {14766#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {14766#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} is VALID [2022-02-20 23:48:56,793 INFO L290 TraceCheckUtils]: 18: Hoare triple {14766#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} main_#t~short5#1 := main_~i~0#1 < 20; {14766#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} is VALID [2022-02-20 23:48:56,794 INFO L290 TraceCheckUtils]: 17: Hoare triple {14779#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (not (= 0 (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {14766#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0))))} is VALID [2022-02-20 23:48:56,795 INFO L290 TraceCheckUtils]: 16: Hoare triple {14783#(forall ((v_ArrVal_808 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_87| Int)) (or (not (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_87| 8)) 0)) (< 0 |v_ULTIMATE.start_main_~p~0#1.offset_87|) (< |v_ULTIMATE.start_main_~p~0#1.offset_87| 0)))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {14779#(forall ((v_ArrVal_808 (Array Int Int)) (|ULTIMATE.start_main_~p~0#1.offset| Int)) (or (not (= 0 (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0)))} is VALID [2022-02-20 23:48:56,795 INFO L290 TraceCheckUtils]: 15: Hoare triple {14654#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {14783#(forall ((v_ArrVal_808 (Array Int Int)) (|v_ULTIMATE.start_main_~p~0#1.offset_87| Int)) (or (not (= (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_808) |ULTIMATE.start_main_~a~0#1.base|) (+ |v_ULTIMATE.start_main_~p~0#1.offset_87| 8)) 0)) (< 0 |v_ULTIMATE.start_main_~p~0#1.offset_87|) (< |v_ULTIMATE.start_main_~p~0#1.offset_87| 0)))} is VALID [2022-02-20 23:48:56,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {14654#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {14654#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:56,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {14793#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {14654#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| 0)) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:48:56,797 INFO L290 TraceCheckUtils]: 12: Hoare triple {14797#(or (forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {14793#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))))} is VALID [2022-02-20 23:48:56,798 INFO L290 TraceCheckUtils]: 11: Hoare triple {14797#(or (forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {14797#(or (forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} is VALID [2022-02-20 23:48:56,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {14797#(or (forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {14797#(or (forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} is VALID [2022-02-20 23:48:56,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {14797#(or (forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} havoc main_#t~nondet7#1; {14797#(or (forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} is VALID [2022-02-20 23:48:56,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {14810#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {14797#(or (forall ((|v_ULTIMATE.start_main_~t~0#1.base_19| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_19| |ULTIMATE.start_main_~p~0#1.base|)) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_19|) 0)) (= |v_ULTIMATE.start_main_~t~0#1.base_19| 0))) (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)))} is VALID [2022-02-20 23:48:56,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {14810#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {14810#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:56,801 INFO L290 TraceCheckUtils]: 6: Hoare triple {14810#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {14810#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:56,801 INFO L290 TraceCheckUtils]: 5: Hoare triple {14810#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {14810#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:56,802 INFO L290 TraceCheckUtils]: 4: Hoare triple {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {14810#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:48:56,802 INFO L290 TraceCheckUtils]: 3: Hoare triple {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:56,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:56,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {14596#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {14614#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:48:56,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {14596#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(16, 2); {14596#true} is VALID [2022-02-20 23:48:56,803 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 23:48:56,803 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1157268756] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:56,803 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:56,803 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 14, 14] total 32 [2022-02-20 23:48:56,804 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2089644228] [2022-02-20 23:48:56,804 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:56,804 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 2.78125) internal successors, (89), 32 states have internal predecessors, (89), 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 35 [2022-02-20 23:48:56,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:56,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 2.78125) internal successors, (89), 32 states have internal predecessors, (89), 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 23:48:56,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:56,880 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-02-20 23:48:56,880 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:56,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-02-20 23:48:56,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=722, Unknown=3, NotChecked=168, Total=992 [2022-02-20 23:48:56,881 INFO L87 Difference]: Start difference. First operand 179 states and 205 transitions. Second operand has 32 states, 32 states have (on average 2.78125) internal successors, (89), 32 states have internal predecessors, (89), 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 23:48:57,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:57,888 INFO L93 Difference]: Finished difference Result 205 states and 230 transitions. [2022-02-20 23:48:57,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-02-20 23:48:57,889 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 2.78125) internal successors, (89), 32 states have internal predecessors, (89), 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 35 [2022-02-20 23:48:57,889 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:57,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 2.78125) internal successors, (89), 32 states have internal predecessors, (89), 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 23:48:57,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 125 transitions. [2022-02-20 23:48:57,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 2.78125) internal successors, (89), 32 states have internal predecessors, (89), 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 23:48:57,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 125 transitions. [2022-02-20 23:48:57,892 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 125 transitions. [2022-02-20 23:48:58,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:58,009 INFO L225 Difference]: With dead ends: 205 [2022-02-20 23:48:58,009 INFO L226 Difference]: Without dead ends: 204 [2022-02-20 23:48:58,009 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 51 SyntacticMatches, 5 SemanticMatches, 44 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 398 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=314, Invalid=1501, Unknown=3, NotChecked=252, Total=2070 [2022-02-20 23:48:58,010 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 112 mSDsluCounter, 529 mSDsCounter, 0 mSdLazyCounter, 281 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 112 SdHoareTripleChecker+Valid, 584 SdHoareTripleChecker+Invalid, 583 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 281 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 279 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:58,010 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [112 Valid, 584 Invalid, 583 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 281 Invalid, 0 Unknown, 279 Unchecked, 0.2s Time] [2022-02-20 23:48:58,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 204 states. [2022-02-20 23:48:58,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 204 to 184. [2022-02-20 23:48:58,012 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:58,012 INFO L82 GeneralOperation]: Start isEquivalent. First operand 204 states. Second operand has 184 states, 171 states have (on average 1.2222222222222223) internal successors, (209), 183 states have internal predecessors, (209), 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 23:48:58,012 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand has 184 states, 171 states have (on average 1.2222222222222223) internal successors, (209), 183 states have internal predecessors, (209), 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 23:48:58,012 INFO L87 Difference]: Start difference. First operand 204 states. Second operand has 184 states, 171 states have (on average 1.2222222222222223) internal successors, (209), 183 states have internal predecessors, (209), 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 23:48:58,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:58,015 INFO L93 Difference]: Finished difference Result 204 states and 229 transitions. [2022-02-20 23:48:58,015 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 229 transitions. [2022-02-20 23:48:58,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:58,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:58,016 INFO L74 IsIncluded]: Start isIncluded. First operand has 184 states, 171 states have (on average 1.2222222222222223) internal successors, (209), 183 states have internal predecessors, (209), 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 204 states. [2022-02-20 23:48:58,016 INFO L87 Difference]: Start difference. First operand has 184 states, 171 states have (on average 1.2222222222222223) internal successors, (209), 183 states have internal predecessors, (209), 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 204 states. [2022-02-20 23:48:58,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:58,020 INFO L93 Difference]: Finished difference Result 204 states and 229 transitions. [2022-02-20 23:48:58,020 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 229 transitions. [2022-02-20 23:48:58,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:58,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:58,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:58,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:58,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 184 states, 171 states have (on average 1.2222222222222223) internal successors, (209), 183 states have internal predecessors, (209), 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 23:48:58,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 209 transitions. [2022-02-20 23:48:58,023 INFO L78 Accepts]: Start accepts. Automaton has 184 states and 209 transitions. Word has length 35 [2022-02-20 23:48:58,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:58,023 INFO L470 AbstractCegarLoop]: Abstraction has 184 states and 209 transitions. [2022-02-20 23:48:58,023 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 2.78125) internal successors, (89), 32 states have internal predecessors, (89), 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 23:48:58,024 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 209 transitions. [2022-02-20 23:48:58,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 23:48:58,024 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:58,024 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:58,057 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-02-20 23:48:58,255 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:58,256 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:48:58,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:48:58,256 INFO L85 PathProgramCache]: Analyzing trace with hash 357730772, now seen corresponding path program 1 times [2022-02-20 23:48:58,256 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:48:58,256 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1075164969] [2022-02-20 23:48:58,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:58,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:48:58,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:58,360 INFO L290 TraceCheckUtils]: 0: Hoare triple {15665#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(16, 2); {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 1: Hoare triple {15665#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 2: Hoare triple {15665#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 3: Hoare triple {15665#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 4: Hoare triple {15665#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 5: Hoare triple {15665#true} main_#t~short5#1 := main_~i~0#1 < 20; {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 6: Hoare triple {15665#true} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 7: Hoare triple {15665#true} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 8: Hoare triple {15665#true} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {15665#true} is VALID [2022-02-20 23:48:58,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {15665#true} havoc main_#t~nondet7#1; {15665#true} is VALID [2022-02-20 23:48:58,362 INFO L290 TraceCheckUtils]: 10: Hoare triple {15665#true} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {15665#true} is VALID [2022-02-20 23:48:58,362 INFO L290 TraceCheckUtils]: 11: Hoare triple {15665#true} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {15665#true} is VALID [2022-02-20 23:48:58,362 INFO L290 TraceCheckUtils]: 12: Hoare triple {15665#true} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {15665#true} is VALID [2022-02-20 23:48:58,362 INFO L290 TraceCheckUtils]: 13: Hoare triple {15665#true} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {15665#true} is VALID [2022-02-20 23:48:58,362 INFO L290 TraceCheckUtils]: 14: Hoare triple {15665#true} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {15665#true} is VALID [2022-02-20 23:48:58,362 INFO L290 TraceCheckUtils]: 15: Hoare triple {15665#true} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {15665#true} is VALID [2022-02-20 23:48:58,362 INFO L290 TraceCheckUtils]: 16: Hoare triple {15665#true} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {15665#true} is VALID [2022-02-20 23:48:58,362 INFO L290 TraceCheckUtils]: 17: Hoare triple {15665#true} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {15665#true} is VALID [2022-02-20 23:48:58,363 INFO L290 TraceCheckUtils]: 18: Hoare triple {15665#true} main_#t~short5#1 := main_~i~0#1 < 20; {15667#(or (<= |ULTIMATE.start_main_~i~0#1| 19) (not |ULTIMATE.start_main_#t~short5#1|))} is VALID [2022-02-20 23:48:58,363 INFO L290 TraceCheckUtils]: 19: Hoare triple {15667#(or (<= |ULTIMATE.start_main_~i~0#1| 19) (not |ULTIMATE.start_main_#t~short5#1|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,364 INFO L290 TraceCheckUtils]: 20: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,364 INFO L290 TraceCheckUtils]: 21: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,364 INFO L290 TraceCheckUtils]: 22: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,365 INFO L290 TraceCheckUtils]: 23: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,365 INFO L290 TraceCheckUtils]: 24: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,365 INFO L290 TraceCheckUtils]: 25: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,366 INFO L290 TraceCheckUtils]: 27: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,366 INFO L290 TraceCheckUtils]: 28: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,367 INFO L290 TraceCheckUtils]: 29: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,367 INFO L290 TraceCheckUtils]: 30: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15669#(<= |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:58,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {15669#(<= |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {15670#(and (<= |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} is VALID [2022-02-20 23:48:58,368 INFO L290 TraceCheckUtils]: 32: Hoare triple {15670#(and (<= |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {15671#(and (<= |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} is VALID [2022-02-20 23:48:58,369 INFO L290 TraceCheckUtils]: 33: Hoare triple {15671#(and (<= |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {15672#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 20))} is VALID [2022-02-20 23:48:58,369 INFO L290 TraceCheckUtils]: 34: Hoare triple {15672#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 20))} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {15666#false} is VALID [2022-02-20 23:48:58,369 INFO L290 TraceCheckUtils]: 35: Hoare triple {15666#false} assume !false; {15666#false} is VALID [2022-02-20 23:48:58,369 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:48:58,369 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:48:58,369 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1075164969] [2022-02-20 23:48:58,370 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1075164969] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:48:58,370 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [694257725] [2022-02-20 23:48:58,370 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:48:58,370 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:48:58,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:48:58,384 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:48:58,413 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-02-20 23:48:58,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:58,483 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:48:58,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:48:58,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:48:58,699 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 23:48:58,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {15665#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(16, 2); {15665#true} is VALID [2022-02-20 23:48:58,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {15665#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {15665#true} is VALID [2022-02-20 23:48:58,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {15665#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {15665#true} is VALID [2022-02-20 23:48:58,718 INFO L290 TraceCheckUtils]: 3: Hoare triple {15665#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {15665#true} is VALID [2022-02-20 23:48:58,718 INFO L290 TraceCheckUtils]: 4: Hoare triple {15665#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {15688#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:58,719 INFO L290 TraceCheckUtils]: 5: Hoare triple {15688#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~short5#1 := main_~i~0#1 < 20; {15688#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:58,719 INFO L290 TraceCheckUtils]: 6: Hoare triple {15688#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {15688#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 23:48:58,720 INFO L290 TraceCheckUtils]: 7: Hoare triple {15688#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,720 INFO L290 TraceCheckUtils]: 8: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,720 INFO L290 TraceCheckUtils]: 9: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} havoc main_#t~nondet7#1; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,721 INFO L290 TraceCheckUtils]: 10: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,721 INFO L290 TraceCheckUtils]: 11: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,722 INFO L290 TraceCheckUtils]: 12: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,723 INFO L290 TraceCheckUtils]: 16: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,724 INFO L290 TraceCheckUtils]: 17: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,724 INFO L290 TraceCheckUtils]: 18: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_#t~short5#1 := main_~i~0#1 < 20; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,725 INFO L290 TraceCheckUtils]: 20: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,725 INFO L290 TraceCheckUtils]: 21: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,726 INFO L290 TraceCheckUtils]: 22: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,726 INFO L290 TraceCheckUtils]: 23: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,726 INFO L290 TraceCheckUtils]: 24: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,727 INFO L290 TraceCheckUtils]: 25: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,727 INFO L290 TraceCheckUtils]: 26: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,727 INFO L290 TraceCheckUtils]: 27: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,728 INFO L290 TraceCheckUtils]: 28: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,728 INFO L290 TraceCheckUtils]: 29: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 23:48:58,729 INFO L290 TraceCheckUtils]: 30: Hoare triple {15698#(<= |ULTIMATE.start_main_~i~0#1| 1)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15768#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 23:48:58,730 INFO L290 TraceCheckUtils]: 31: Hoare triple {15768#(<= |ULTIMATE.start_main_~i~0#1| 2)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {15772#(and (<= |ULTIMATE.start_main_~i~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} is VALID [2022-02-20 23:48:58,730 INFO L290 TraceCheckUtils]: 32: Hoare triple {15772#(and (<= |ULTIMATE.start_main_~i~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) |ULTIMATE.start_main_#t~mem11#1|))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {15776#(and (<= |ULTIMATE.start_main_~i~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} is VALID [2022-02-20 23:48:58,731 INFO L290 TraceCheckUtils]: 33: Hoare triple {15776#(and (<= |ULTIMATE.start_main_~i~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {15780#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} is VALID [2022-02-20 23:48:58,731 INFO L290 TraceCheckUtils]: 34: Hoare triple {15780#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 2))} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {15666#false} is VALID [2022-02-20 23:48:58,731 INFO L290 TraceCheckUtils]: 35: Hoare triple {15666#false} assume !false; {15666#false} is VALID [2022-02-20 23:48:58,732 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:58,732 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:48:58,895 INFO L290 TraceCheckUtils]: 35: Hoare triple {15666#false} assume !false; {15666#false} is VALID [2022-02-20 23:48:58,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {15672#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 20))} assume 3 != main_#t~mem17#1 || main_~i~0#1 > 20;havoc main_#t~mem17#1; {15666#false} is VALID [2022-02-20 23:48:58,896 INFO L290 TraceCheckUtils]: 33: Hoare triple {15671#(and (<= |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {15672#(and (= 3 |ULTIMATE.start_main_#t~mem17#1|) (<= |ULTIMATE.start_main_~i~0#1| 20))} is VALID [2022-02-20 23:48:58,897 INFO L290 TraceCheckUtils]: 32: Hoare triple {15796#(or (and (<= |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)) (not (= 3 |ULTIMATE.start_main_#t~mem11#1|)))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {15671#(and (<= |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3))} is VALID [2022-02-20 23:48:58,897 INFO L290 TraceCheckUtils]: 31: Hoare triple {15669#(<= |ULTIMATE.start_main_~i~0#1| 20)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {15796#(or (and (<= |ULTIMATE.start_main_~i~0#1| 20) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)) (not (= 3 |ULTIMATE.start_main_#t~mem11#1|)))} is VALID [2022-02-20 23:48:58,898 INFO L290 TraceCheckUtils]: 30: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {15669#(<= |ULTIMATE.start_main_~i~0#1| 20)} is VALID [2022-02-20 23:48:58,898 INFO L290 TraceCheckUtils]: 29: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,898 INFO L290 TraceCheckUtils]: 28: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,899 INFO L290 TraceCheckUtils]: 27: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,899 INFO L290 TraceCheckUtils]: 26: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,899 INFO L290 TraceCheckUtils]: 25: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,900 INFO L290 TraceCheckUtils]: 24: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,900 INFO L290 TraceCheckUtils]: 23: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,900 INFO L290 TraceCheckUtils]: 22: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,901 INFO L290 TraceCheckUtils]: 21: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,901 INFO L290 TraceCheckUtils]: 20: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,901 INFO L290 TraceCheckUtils]: 19: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,901 INFO L290 TraceCheckUtils]: 18: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} main_#t~short5#1 := main_~i~0#1 < 20; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,902 INFO L290 TraceCheckUtils]: 17: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,902 INFO L290 TraceCheckUtils]: 16: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,902 INFO L290 TraceCheckUtils]: 15: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,903 INFO L290 TraceCheckUtils]: 12: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,904 INFO L290 TraceCheckUtils]: 10: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} havoc main_#t~nondet7#1; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,905 INFO L290 TraceCheckUtils]: 8: Hoare triple {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {15872#(<= |ULTIMATE.start_main_~i~0#1| 18)} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {15668#(<= |ULTIMATE.start_main_~i~0#1| 19)} is VALID [2022-02-20 23:48:58,905 INFO L290 TraceCheckUtils]: 6: Hoare triple {15872#(<= |ULTIMATE.start_main_~i~0#1| 18)} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {15872#(<= |ULTIMATE.start_main_~i~0#1| 18)} is VALID [2022-02-20 23:48:58,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {15872#(<= |ULTIMATE.start_main_~i~0#1| 18)} main_#t~short5#1 := main_~i~0#1 < 20; {15872#(<= |ULTIMATE.start_main_~i~0#1| 18)} is VALID [2022-02-20 23:48:58,906 INFO L290 TraceCheckUtils]: 4: Hoare triple {15665#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {15872#(<= |ULTIMATE.start_main_~i~0#1| 18)} is VALID [2022-02-20 23:48:58,906 INFO L290 TraceCheckUtils]: 3: Hoare triple {15665#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {15665#true} is VALID [2022-02-20 23:48:58,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {15665#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {15665#true} is VALID [2022-02-20 23:48:58,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {15665#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {15665#true} is VALID [2022-02-20 23:48:58,907 INFO L290 TraceCheckUtils]: 0: Hoare triple {15665#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(16, 2); {15665#true} is VALID [2022-02-20 23:48:58,907 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:48:58,907 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [694257725] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:48:58,907 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:48:58,907 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 16 [2022-02-20 23:48:58,907 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [522615614] [2022-02-20 23:48:58,908 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:48:58,908 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.3125) internal successors, (85), 16 states have internal predecessors, (85), 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 36 [2022-02-20 23:48:58,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:48:58,908 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 5.3125) internal successors, (85), 16 states have internal predecessors, (85), 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 23:48:58,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:58,963 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:48:58,963 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:48:58,963 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:48:58,964 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=166, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:48:58,964 INFO L87 Difference]: Start difference. First operand 184 states and 209 transitions. Second operand has 16 states, 16 states have (on average 5.3125) internal successors, (85), 16 states have internal predecessors, (85), 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 23:48:59,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:59,674 INFO L93 Difference]: Finished difference Result 427 states and 484 transitions. [2022-02-20 23:48:59,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-02-20 23:48:59,674 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.3125) internal successors, (85), 16 states have internal predecessors, (85), 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 36 [2022-02-20 23:48:59,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:48:59,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.3125) internal successors, (85), 16 states have internal predecessors, (85), 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 23:48:59,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 351 transitions. [2022-02-20 23:48:59,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 5.3125) internal successors, (85), 16 states have internal predecessors, (85), 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 23:48:59,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 351 transitions. [2022-02-20 23:48:59,679 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 351 transitions. [2022-02-20 23:48:59,925 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 351 edges. 351 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:48:59,931 INFO L225 Difference]: With dead ends: 427 [2022-02-20 23:48:59,932 INFO L226 Difference]: Without dead ends: 427 [2022-02-20 23:48:59,932 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 91 GetRequests, 64 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 193 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=224, Invalid=532, Unknown=0, NotChecked=0, Total=756 [2022-02-20 23:48:59,933 INFO L933 BasicCegarLoop]: 66 mSDtfsCounter, 410 mSDsluCounter, 493 mSDsCounter, 0 mSdLazyCounter, 199 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 410 SdHoareTripleChecker+Valid, 559 SdHoareTripleChecker+Invalid, 252 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 199 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:48:59,933 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [410 Valid, 559 Invalid, 252 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 199 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:48:59,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 427 states. [2022-02-20 23:48:59,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 427 to 250. [2022-02-20 23:48:59,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:48:59,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 427 states. Second operand has 250 states, 237 states have (on average 1.2995780590717299) internal successors, (308), 249 states have internal predecessors, (308), 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 23:48:59,937 INFO L74 IsIncluded]: Start isIncluded. First operand 427 states. Second operand has 250 states, 237 states have (on average 1.2995780590717299) internal successors, (308), 249 states have internal predecessors, (308), 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 23:48:59,937 INFO L87 Difference]: Start difference. First operand 427 states. Second operand has 250 states, 237 states have (on average 1.2995780590717299) internal successors, (308), 249 states have internal predecessors, (308), 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 23:48:59,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:59,945 INFO L93 Difference]: Finished difference Result 427 states and 484 transitions. [2022-02-20 23:48:59,945 INFO L276 IsEmpty]: Start isEmpty. Operand 427 states and 484 transitions. [2022-02-20 23:48:59,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:59,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:59,947 INFO L74 IsIncluded]: Start isIncluded. First operand has 250 states, 237 states have (on average 1.2995780590717299) internal successors, (308), 249 states have internal predecessors, (308), 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 427 states. [2022-02-20 23:48:59,947 INFO L87 Difference]: Start difference. First operand has 250 states, 237 states have (on average 1.2995780590717299) internal successors, (308), 249 states have internal predecessors, (308), 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 427 states. [2022-02-20 23:48:59,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:48:59,955 INFO L93 Difference]: Finished difference Result 427 states and 484 transitions. [2022-02-20 23:48:59,955 INFO L276 IsEmpty]: Start isEmpty. Operand 427 states and 484 transitions. [2022-02-20 23:48:59,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:48:59,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:48:59,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:48:59,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:48:59,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 250 states, 237 states have (on average 1.2995780590717299) internal successors, (308), 249 states have internal predecessors, (308), 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 23:48:59,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 250 states to 250 states and 308 transitions. [2022-02-20 23:48:59,960 INFO L78 Accepts]: Start accepts. Automaton has 250 states and 308 transitions. Word has length 36 [2022-02-20 23:48:59,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:48:59,960 INFO L470 AbstractCegarLoop]: Abstraction has 250 states and 308 transitions. [2022-02-20 23:48:59,960 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 5.3125) internal successors, (85), 16 states have internal predecessors, (85), 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 23:48:59,960 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 308 transitions. [2022-02-20 23:48:59,961 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 23:48:59,961 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:48:59,961 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:48:59,984 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-02-20 23:49:00,178 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-02-20 23:49:00,179 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr44ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:49:00,179 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:00,179 INFO L85 PathProgramCache]: Analyzing trace with hash -929852094, now seen corresponding path program 1 times [2022-02-20 23:49:00,179 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:00,179 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1757511650] [2022-02-20 23:49:00,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:00,179 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:00,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:00,232 INFO L290 TraceCheckUtils]: 0: Hoare triple {17449#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(16, 2); {17449#true} is VALID [2022-02-20 23:49:00,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {17449#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {17449#true} is VALID [2022-02-20 23:49:00,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {17449#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {17449#true} is VALID [2022-02-20 23:49:00,233 INFO L290 TraceCheckUtils]: 3: Hoare triple {17449#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {17449#true} is VALID [2022-02-20 23:49:00,233 INFO L290 TraceCheckUtils]: 4: Hoare triple {17449#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {17449#true} is VALID [2022-02-20 23:49:00,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {17449#true} main_#t~short5#1 := main_~i~0#1 < 20; {17449#true} is VALID [2022-02-20 23:49:00,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {17449#true} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {17449#true} is VALID [2022-02-20 23:49:00,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {17449#true} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {17449#true} is VALID [2022-02-20 23:49:00,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {17449#true} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {17449#true} is VALID [2022-02-20 23:49:00,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {17449#true} havoc main_#t~nondet7#1; {17449#true} is VALID [2022-02-20 23:49:00,234 INFO L290 TraceCheckUtils]: 10: Hoare triple {17449#true} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {17449#true} is VALID [2022-02-20 23:49:00,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {17449#true} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {17449#true} is VALID [2022-02-20 23:49:00,234 INFO L290 TraceCheckUtils]: 12: Hoare triple {17449#true} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {17449#true} is VALID [2022-02-20 23:49:00,234 INFO L290 TraceCheckUtils]: 13: Hoare triple {17449#true} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {17449#true} is VALID [2022-02-20 23:49:00,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {17449#true} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {17449#true} is VALID [2022-02-20 23:49:00,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {17449#true} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {17449#true} is VALID [2022-02-20 23:49:00,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {17449#true} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {17449#true} is VALID [2022-02-20 23:49:00,235 INFO L290 TraceCheckUtils]: 17: Hoare triple {17449#true} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {17449#true} is VALID [2022-02-20 23:49:00,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {17449#true} main_#t~short5#1 := main_~i~0#1 < 20; {17449#true} is VALID [2022-02-20 23:49:00,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {17449#true} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {17449#true} is VALID [2022-02-20 23:49:00,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {17449#true} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {17449#true} is VALID [2022-02-20 23:49:00,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {17449#true} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {17449#true} is VALID [2022-02-20 23:49:00,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {17449#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {17449#true} is VALID [2022-02-20 23:49:00,236 INFO L290 TraceCheckUtils]: 23: Hoare triple {17449#true} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {17449#true} is VALID [2022-02-20 23:49:00,236 INFO L290 TraceCheckUtils]: 24: Hoare triple {17449#true} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {17449#true} is VALID [2022-02-20 23:49:00,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {17449#true} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {17449#true} is VALID [2022-02-20 23:49:00,236 INFO L290 TraceCheckUtils]: 26: Hoare triple {17449#true} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {17449#true} is VALID [2022-02-20 23:49:00,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {17449#true} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {17449#true} is VALID [2022-02-20 23:49:00,237 INFO L290 TraceCheckUtils]: 28: Hoare triple {17449#true} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {17451#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem18#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem18#1.base|))} is VALID [2022-02-20 23:49:00,237 INFO L290 TraceCheckUtils]: 29: Hoare triple {17451#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem18#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem18#1.base|))} assume !(main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {17452#(or (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0)))} is VALID [2022-02-20 23:49:00,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {17452#(or (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) 0)))} SUMMARY for call main_#t~mem19#1.base, main_#t~mem19#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L610-3 {17453#(or (not (= |ULTIMATE.start_main_#t~mem19#1.offset| 0)) (not (= |ULTIMATE.start_main_#t~mem19#1.base| 0)))} is VALID [2022-02-20 23:49:00,238 INFO L290 TraceCheckUtils]: 31: Hoare triple {17453#(or (not (= |ULTIMATE.start_main_#t~mem19#1.offset| 0)) (not (= |ULTIMATE.start_main_#t~mem19#1.base| 0)))} assume !(main_#t~mem19#1.base != 0 || main_#t~mem19#1.offset != 0);havoc main_#t~mem19#1.base, main_#t~mem19#1.offset; {17450#false} is VALID [2022-02-20 23:49:00,238 INFO L290 TraceCheckUtils]: 32: Hoare triple {17450#false} assume 0 == main_~p~0#1.offset; {17450#false} is VALID [2022-02-20 23:49:00,238 INFO L290 TraceCheckUtils]: 33: Hoare triple {17450#false} assume main_~p~0#1.base < #StackHeapBarrier; {17450#false} is VALID [2022-02-20 23:49:00,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {17450#false} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset); {17450#false} is VALID [2022-02-20 23:49:00,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {17450#false} main_#res#1 := 0; {17450#false} is VALID [2022-02-20 23:49:00,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {17450#false} assume !(#valid == main_old_#valid#1); {17450#false} is VALID [2022-02-20 23:49:00,239 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:49:00,239 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:00,239 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1757511650] [2022-02-20 23:49:00,239 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1757511650] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:00,239 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:49:00,239 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:49:00,239 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1175456135] [2022-02-20 23:49:00,240 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:00,240 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 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 37 [2022-02-20 23:49:00,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:00,240 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 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 23:49:00,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:00,261 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:49:00,261 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:00,262 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:49:00,262 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:49:00,262 INFO L87 Difference]: Start difference. First operand 250 states and 308 transitions. Second operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 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 23:49:00,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:00,478 INFO L93 Difference]: Finished difference Result 249 states and 306 transitions. [2022-02-20 23:49:00,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:49:00,479 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 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 37 [2022-02-20 23:49:00,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:00,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 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 23:49:00,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-02-20 23:49:00,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 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 23:49:00,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-02-20 23:49:00,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 81 transitions. [2022-02-20 23:49:00,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:00,516 INFO L225 Difference]: With dead ends: 249 [2022-02-20 23:49:00,516 INFO L226 Difference]: Without dead ends: 249 [2022-02-20 23:49:00,517 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 23:49:00,517 INFO L933 BasicCegarLoop]: 65 mSDtfsCounter, 5 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 110 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:00,517 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 181 Invalid, 110 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:49:00,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-02-20 23:49:00,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 248. [2022-02-20 23:49:00,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:00,521 INFO L82 GeneralOperation]: Start isEquivalent. First operand 249 states. Second operand has 248 states, 235 states have (on average 1.297872340425532) internal successors, (305), 247 states have internal predecessors, (305), 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 23:49:00,521 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand has 248 states, 235 states have (on average 1.297872340425532) internal successors, (305), 247 states have internal predecessors, (305), 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 23:49:00,522 INFO L87 Difference]: Start difference. First operand 249 states. Second operand has 248 states, 235 states have (on average 1.297872340425532) internal successors, (305), 247 states have internal predecessors, (305), 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 23:49:00,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:00,524 INFO L93 Difference]: Finished difference Result 249 states and 306 transitions. [2022-02-20 23:49:00,524 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 306 transitions. [2022-02-20 23:49:00,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:00,525 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:00,525 INFO L74 IsIncluded]: Start isIncluded. First operand has 248 states, 235 states have (on average 1.297872340425532) internal successors, (305), 247 states have internal predecessors, (305), 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 249 states. [2022-02-20 23:49:00,525 INFO L87 Difference]: Start difference. First operand has 248 states, 235 states have (on average 1.297872340425532) internal successors, (305), 247 states have internal predecessors, (305), 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 249 states. [2022-02-20 23:49:00,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:00,528 INFO L93 Difference]: Finished difference Result 249 states and 306 transitions. [2022-02-20 23:49:00,528 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 306 transitions. [2022-02-20 23:49:00,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:00,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:00,528 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:00,528 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:00,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 248 states, 235 states have (on average 1.297872340425532) internal successors, (305), 247 states have internal predecessors, (305), 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 23:49:00,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 248 states to 248 states and 305 transitions. [2022-02-20 23:49:00,531 INFO L78 Accepts]: Start accepts. Automaton has 248 states and 305 transitions. Word has length 37 [2022-02-20 23:49:00,531 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:00,531 INFO L470 AbstractCegarLoop]: Abstraction has 248 states and 305 transitions. [2022-02-20 23:49:00,532 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 7.0) internal successors, (35), 5 states have internal predecessors, (35), 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 23:49:00,532 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 305 transitions. [2022-02-20 23:49:00,532 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 23:49:00,532 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:00,532 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:00,532 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21 [2022-02-20 23:49:00,532 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting ULTIMATE.startErr43ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:49:00,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:00,533 INFO L85 PathProgramCache]: Analyzing trace with hash 208867043, now seen corresponding path program 1 times [2022-02-20 23:49:00,533 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:00,533 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [520901965] [2022-02-20 23:49:00,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:00,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:00,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:00,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {18453#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(16, 2); {18453#true} is VALID [2022-02-20 23:49:00,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {18453#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {18455#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:00,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {18455#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {18455#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:00,717 INFO L290 TraceCheckUtils]: 3: Hoare triple {18455#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {18455#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:00,718 INFO L290 TraceCheckUtils]: 4: Hoare triple {18455#(= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {18456#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {18456#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {18456#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,718 INFO L290 TraceCheckUtils]: 6: Hoare triple {18456#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {18456#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,719 INFO L290 TraceCheckUtils]: 7: Hoare triple {18456#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {18456#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {18456#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:00,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:00,720 INFO L290 TraceCheckUtils]: 10: Hoare triple {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:00,720 INFO L290 TraceCheckUtils]: 11: Hoare triple {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:00,721 INFO L290 TraceCheckUtils]: 12: Hoare triple {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:00,721 INFO L290 TraceCheckUtils]: 13: Hoare triple {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {18458#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,721 INFO L290 TraceCheckUtils]: 14: Hoare triple {18458#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {18458#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,722 INFO L290 TraceCheckUtils]: 15: Hoare triple {18458#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {18459#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,722 INFO L290 TraceCheckUtils]: 16: Hoare triple {18459#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {18460#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem10#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem10#1.base|) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:49:00,723 INFO L290 TraceCheckUtils]: 17: Hoare triple {18460#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem10#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem10#1.base|) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:00,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:00,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:00,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:00,725 INFO L290 TraceCheckUtils]: 21: Hoare triple {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {18462#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {18462#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,726 INFO L290 TraceCheckUtils]: 23: Hoare triple {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,726 INFO L290 TraceCheckUtils]: 24: Hoare triple {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,726 INFO L290 TraceCheckUtils]: 25: Hoare triple {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,727 INFO L290 TraceCheckUtils]: 26: Hoare triple {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,727 INFO L290 TraceCheckUtils]: 27: Hoare triple {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,728 INFO L290 TraceCheckUtils]: 28: Hoare triple {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:00,728 INFO L290 TraceCheckUtils]: 29: Hoare triple {18463#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {18464#(= (select (select |#memory_int| |ULTIMATE.start_main_#t~mem15#1.base|) |ULTIMATE.start_main_#t~mem15#1.offset|) 3)} is VALID [2022-02-20 23:49:00,728 INFO L290 TraceCheckUtils]: 30: Hoare triple {18464#(= (select (select |#memory_int| |ULTIMATE.start_main_#t~mem15#1.base|) |ULTIMATE.start_main_#t~mem15#1.offset|) 3)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {18465#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)} is VALID [2022-02-20 23:49:00,729 INFO L290 TraceCheckUtils]: 31: Hoare triple {18465#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {18466#(= 3 |ULTIMATE.start_main_#t~mem11#1|)} is VALID [2022-02-20 23:49:00,729 INFO L290 TraceCheckUtils]: 32: Hoare triple {18466#(= 3 |ULTIMATE.start_main_#t~mem11#1|)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {18454#false} is VALID [2022-02-20 23:49:00,729 INFO L290 TraceCheckUtils]: 33: Hoare triple {18454#false} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {18454#false} is VALID [2022-02-20 23:49:00,729 INFO L290 TraceCheckUtils]: 34: Hoare triple {18454#false} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {18454#false} is VALID [2022-02-20 23:49:00,729 INFO L290 TraceCheckUtils]: 35: Hoare triple {18454#false} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {18454#false} is VALID [2022-02-20 23:49:00,729 INFO L290 TraceCheckUtils]: 36: Hoare triple {18454#false} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {18454#false} is VALID [2022-02-20 23:49:00,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {18454#false} assume !false; {18454#false} is VALID [2022-02-20 23:49:00,730 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:49:00,730 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:00,730 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [520901965] [2022-02-20 23:49:00,730 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [520901965] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:00,730 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [547670692] [2022-02-20 23:49:00,730 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:00,730 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:00,731 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:00,732 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:49:00,732 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-02-20 23:49:00,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:00,824 INFO L263 TraceCheckSpWp]: Trace formula consists of 235 conjuncts, 44 conjunts are in the unsatisfiable core [2022-02-20 23:49:00,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:00,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:00,950 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:49:00,950 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 11 treesize of output 11 [2022-02-20 23:49:00,979 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 23:49:00,987 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 13 treesize of output 9 [2022-02-20 23:49:01,059 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:49:01,060 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 64 treesize of output 61 [2022-02-20 23:49:01,065 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 29 treesize of output 19 [2022-02-20 23:49:01,067 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 32 treesize of output 34 [2022-02-20 23:49:01,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 31 treesize of output 19 [2022-02-20 23:49:01,152 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 19 treesize of output 11 [2022-02-20 23:49:01,171 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 23:49:01,176 INFO L290 TraceCheckUtils]: 0: Hoare triple {18453#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(16, 2); {18453#true} is VALID [2022-02-20 23:49:01,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {18453#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:01,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:01,185 INFO L290 TraceCheckUtils]: 3: Hoare triple {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:01,186 INFO L290 TraceCheckUtils]: 4: Hoare triple {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {18483#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {18483#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} main_#t~short5#1 := main_~i~0#1 < 20; {18483#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,186 INFO L290 TraceCheckUtils]: 6: Hoare triple {18483#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {18483#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,187 INFO L290 TraceCheckUtils]: 7: Hoare triple {18483#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {18483#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {18483#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {18496#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,188 INFO L290 TraceCheckUtils]: 9: Hoare triple {18496#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} havoc main_#t~nondet7#1; {18496#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,188 INFO L290 TraceCheckUtils]: 10: Hoare triple {18496#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {18496#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,188 INFO L290 TraceCheckUtils]: 11: Hoare triple {18496#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {18496#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,189 INFO L290 TraceCheckUtils]: 12: Hoare triple {18496#(and (<= |ULTIMATE.start_main_~p~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1) (<= |ULTIMATE.start_main_~a~0#1.offset| 0))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:01,190 INFO L290 TraceCheckUtils]: 13: Hoare triple {18457#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {18458#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,190 INFO L290 TraceCheckUtils]: 14: Hoare triple {18458#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {18458#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,191 INFO L290 TraceCheckUtils]: 15: Hoare triple {18458#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {18459#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} is VALID [2022-02-20 23:49:01,191 INFO L290 TraceCheckUtils]: 16: Hoare triple {18459#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= |ULTIMATE.start_main_~p~0#1.offset| 0))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {18460#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem10#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem10#1.base|) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:49:01,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {18460#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem10#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem10#1.base|) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:01,192 INFO L290 TraceCheckUtils]: 18: Hoare triple {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:01,192 INFO L290 TraceCheckUtils]: 19: Hoare triple {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:01,193 INFO L290 TraceCheckUtils]: 20: Hoare triple {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:01,194 INFO L290 TraceCheckUtils]: 21: Hoare triple {18461#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {18536#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:49:01,194 INFO L290 TraceCheckUtils]: 22: Hoare triple {18536#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,195 INFO L290 TraceCheckUtils]: 23: Hoare triple {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,195 INFO L290 TraceCheckUtils]: 24: Hoare triple {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,195 INFO L290 TraceCheckUtils]: 25: Hoare triple {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,196 INFO L290 TraceCheckUtils]: 26: Hoare triple {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,196 INFO L290 TraceCheckUtils]: 27: Hoare triple {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,197 INFO L290 TraceCheckUtils]: 28: Hoare triple {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {18540#(and (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) 8))) (= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {18464#(= (select (select |#memory_int| |ULTIMATE.start_main_#t~mem15#1.base|) |ULTIMATE.start_main_#t~mem15#1.offset|) 3)} is VALID [2022-02-20 23:49:01,197 INFO L290 TraceCheckUtils]: 30: Hoare triple {18464#(= (select (select |#memory_int| |ULTIMATE.start_main_#t~mem15#1.base|) |ULTIMATE.start_main_#t~mem15#1.offset|) 3)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {18465#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)} is VALID [2022-02-20 23:49:01,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {18465#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {18466#(= 3 |ULTIMATE.start_main_#t~mem11#1|)} is VALID [2022-02-20 23:49:01,198 INFO L290 TraceCheckUtils]: 32: Hoare triple {18466#(= 3 |ULTIMATE.start_main_#t~mem11#1|)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {18454#false} is VALID [2022-02-20 23:49:01,198 INFO L290 TraceCheckUtils]: 33: Hoare triple {18454#false} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {18454#false} is VALID [2022-02-20 23:49:01,198 INFO L290 TraceCheckUtils]: 34: Hoare triple {18454#false} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {18454#false} is VALID [2022-02-20 23:49:01,198 INFO L290 TraceCheckUtils]: 35: Hoare triple {18454#false} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {18454#false} is VALID [2022-02-20 23:49:01,198 INFO L290 TraceCheckUtils]: 36: Hoare triple {18454#false} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {18454#false} is VALID [2022-02-20 23:49:01,199 INFO L290 TraceCheckUtils]: 37: Hoare triple {18454#false} assume !false; {18454#false} is VALID [2022-02-20 23:49:01,199 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:49:01,199 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:01,268 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 79 treesize of output 57 [2022-02-20 23:49:01,275 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_986 (Array Int Int))) (= (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|)) |c_ULTIMATE.start_main_~p~0#1.offset|)) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|)) |c_ULTIMATE.start_main_~p~0#1.base|))) is different from false [2022-02-20 23:49:01,323 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_985 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~mem10#1.base| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_985) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|)))) (forall ((v_ArrVal_986 (Array Int Int))) (= |c_ULTIMATE.start_main_#t~mem10#1.offset| (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_986) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|))))) is different from false [2022-02-20 23:49:01,333 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_986 (Array Int Int))) (let ((.cse0 (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select (select (store |c_#memory_$Pointer$.offset| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) .cse0) v_ArrVal_986) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~p~0#1.base|) .cse0)))) (forall ((v_ArrVal_985 (Array Int Int))) (let ((.cse1 (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)))) (= .cse1 (select (select (store |c_#memory_$Pointer$.base| .cse1 v_ArrVal_985) |c_ULTIMATE.start_main_~a~0#1.base|) (+ 8 |c_ULTIMATE.start_main_~a~0#1.offset|)))))) is different from false [2022-02-20 23:49:01,348 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:49:01,349 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 22 treesize of output 23 [2022-02-20 23:49:01,355 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:49:01,355 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 38 treesize of output 35 [2022-02-20 23:49:01,358 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 11 treesize of output 7 [2022-02-20 23:49:01,381 INFO L356 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2022-02-20 23:49:01,382 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 22 treesize of output 1 [2022-02-20 23:49:01,593 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:49:01,593 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 13 treesize of output 12 [2022-02-20 23:49:01,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {18454#false} assume !false; {18454#false} is VALID [2022-02-20 23:49:01,749 INFO L290 TraceCheckUtils]: 36: Hoare triple {18454#false} assume 2 != main_#t~mem14#1;havoc main_#t~mem14#1; {18454#false} is VALID [2022-02-20 23:49:01,749 INFO L290 TraceCheckUtils]: 35: Hoare triple {18454#false} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {18454#false} is VALID [2022-02-20 23:49:01,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {18454#false} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {18454#false} is VALID [2022-02-20 23:49:01,750 INFO L290 TraceCheckUtils]: 33: Hoare triple {18454#false} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {18454#false} is VALID [2022-02-20 23:49:01,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {18466#(= 3 |ULTIMATE.start_main_#t~mem11#1|)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {18454#false} is VALID [2022-02-20 23:49:01,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {18465#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {18466#(= 3 |ULTIMATE.start_main_#t~mem11#1|)} is VALID [2022-02-20 23:49:01,751 INFO L290 TraceCheckUtils]: 30: Hoare triple {18464#(= (select (select |#memory_int| |ULTIMATE.start_main_#t~mem15#1.base|) |ULTIMATE.start_main_#t~mem15#1.offset|) 3)} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;main_#t~post16#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post16#1;havoc main_#t~post16#1; {18465#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 3)} is VALID [2022-02-20 23:49:01,752 INFO L290 TraceCheckUtils]: 29: Hoare triple {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} SUMMARY for call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L589-3 {18464#(= (select (select |#memory_int| |ULTIMATE.start_main_#t~mem15#1.base|) |ULTIMATE.start_main_#t~mem15#1.offset|) 3)} is VALID [2022-02-20 23:49:01,752 INFO L290 TraceCheckUtils]: 28: Hoare triple {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} assume !(2 != main_#t~mem14#1);havoc main_#t~mem14#1; {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} is VALID [2022-02-20 23:49:01,753 INFO L290 TraceCheckUtils]: 27: Hoare triple {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} SUMMARY for call main_#t~mem14#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L593 {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} is VALID [2022-02-20 23:49:01,753 INFO L290 TraceCheckUtils]: 26: Hoare triple {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} assume !(0 != main_#t~mem12#1);havoc main_#t~mem12#1; {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} is VALID [2022-02-20 23:49:01,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} SUMMARY for call main_#t~mem12#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L589 {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} is VALID [2022-02-20 23:49:01,754 INFO L290 TraceCheckUtils]: 24: Hoare triple {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} assume !!(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} is VALID [2022-02-20 23:49:01,755 INFO L290 TraceCheckUtils]: 23: Hoare triple {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} is VALID [2022-02-20 23:49:01,755 INFO L290 TraceCheckUtils]: 22: Hoare triple {18632#(= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {18610#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 3)} is VALID [2022-02-20 23:49:01,757 INFO L290 TraceCheckUtils]: 21: Hoare triple {18636#(and (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {18632#(= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))))} is VALID [2022-02-20 23:49:01,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {18636#(and (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {18636#(and (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,758 INFO L290 TraceCheckUtils]: 19: Hoare triple {18636#(and (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {18636#(and (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,759 INFO L290 TraceCheckUtils]: 18: Hoare triple {18636#(and (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {18636#(and (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {18649#(and (forall ((v_ArrVal_985 (Array Int Int))) (= |ULTIMATE.start_main_#t~mem10#1.base| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_#t~mem10#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {18636#(and (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_~p~0#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,761 INFO L290 TraceCheckUtils]: 16: Hoare triple {18653#(and (forall ((v_ArrVal_986 (Array Int Int))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {18649#(and (forall ((v_ArrVal_985 (Array Int Int))) (= |ULTIMATE.start_main_#t~mem10#1.base| (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_986 (Array Int Int))) (= |ULTIMATE.start_main_#t~mem10#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:49:01,762 INFO L290 TraceCheckUtils]: 15: Hoare triple {18657#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {18653#(and (forall ((v_ArrVal_986 (Array Int Int))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_986) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))) (forall ((v_ArrVal_985 (Array Int Int))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_985) |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:49:01,763 INFO L290 TraceCheckUtils]: 14: Hoare triple {18657#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {18657#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:01,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {18664#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0))))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {18657#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:01,765 INFO L290 TraceCheckUtils]: 12: Hoare triple {18668#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0)))))} SUMMARY for call write~int(2, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L579 {18664#(forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0))))} is VALID [2022-02-20 23:49:01,765 INFO L290 TraceCheckUtils]: 11: Hoare triple {18668#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0)))))} assume !(0 != main_#t~mem8#1);havoc main_#t~mem8#1; {18668#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0)))))} is VALID [2022-02-20 23:49:01,766 INFO L290 TraceCheckUtils]: 10: Hoare triple {18668#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0)))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {18668#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0)))))} is VALID [2022-02-20 23:49:01,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {18668#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0)))))} havoc main_#t~nondet7#1; {18668#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0)))))} is VALID [2022-02-20 23:49:01,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {18681#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {18668#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((|v_ULTIMATE.start_main_~t~0#1.base_22| Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_22| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_22|) 0)))))} is VALID [2022-02-20 23:49:01,769 INFO L290 TraceCheckUtils]: 7: Hoare triple {18681#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {18681#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,770 INFO L290 TraceCheckUtils]: 6: Hoare triple {18681#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {18681#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {18681#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} main_#t~short5#1 := main_~i~0#1 < 20; {18681#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,771 INFO L290 TraceCheckUtils]: 4: Hoare triple {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {18681#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)))} is VALID [2022-02-20 23:49:01,771 INFO L290 TraceCheckUtils]: 3: Hoare triple {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:01,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:01,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {18453#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {18473#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:01,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {18453#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(16, 2); {18453#true} is VALID [2022-02-20 23:49:01,773 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 23:49:01,773 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [547670692] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:01,773 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:01,773 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15, 15] total 28 [2022-02-20 23:49:01,774 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [137824930] [2022-02-20 23:49:01,774 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:01,774 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 3.0357142857142856) internal successors, (85), 28 states have internal predecessors, (85), 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 38 [2022-02-20 23:49:01,774 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:01,775 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 3.0357142857142856) internal successors, (85), 28 states have internal predecessors, (85), 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 23:49:01,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:01,864 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-02-20 23:49:01,864 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:01,865 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-02-20 23:49:01,865 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=510, Unknown=3, NotChecked=144, Total=756 [2022-02-20 23:49:01,865 INFO L87 Difference]: Start difference. First operand 248 states and 305 transitions. Second operand has 28 states, 28 states have (on average 3.0357142857142856) internal successors, (85), 28 states have internal predecessors, (85), 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 23:49:03,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:03,712 INFO L93 Difference]: Finished difference Result 293 states and 350 transitions. [2022-02-20 23:49:03,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 23:49:03,712 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 3.0357142857142856) internal successors, (85), 28 states have internal predecessors, (85), 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 38 [2022-02-20 23:49:03,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:03,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 3.0357142857142856) internal successors, (85), 28 states have internal predecessors, (85), 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 23:49:03,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 183 transitions. [2022-02-20 23:49:03,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 3.0357142857142856) internal successors, (85), 28 states have internal predecessors, (85), 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 23:49:03,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 183 transitions. [2022-02-20 23:49:03,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 183 transitions. [2022-02-20 23:49:03,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:03,856 INFO L225 Difference]: With dead ends: 293 [2022-02-20 23:49:03,857 INFO L226 Difference]: Without dead ends: 293 [2022-02-20 23:49:03,857 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 60 SyntacticMatches, 4 SemanticMatches, 34 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 263 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=187, Invalid=878, Unknown=3, NotChecked=192, Total=1260 [2022-02-20 23:49:03,857 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 375 mSDsluCounter, 588 mSDsCounter, 0 mSdLazyCounter, 730 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 375 SdHoareTripleChecker+Valid, 638 SdHoareTripleChecker+Invalid, 1237 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 730 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 456 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:03,858 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [375 Valid, 638 Invalid, 1237 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 730 Invalid, 0 Unknown, 456 Unchecked, 0.6s Time] [2022-02-20 23:49:03,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 293 states. [2022-02-20 23:49:03,861 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 293 to 250. [2022-02-20 23:49:03,861 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:03,861 INFO L82 GeneralOperation]: Start isEquivalent. First operand 293 states. Second operand has 250 states, 237 states have (on average 1.2953586497890295) internal successors, (307), 249 states have internal predecessors, (307), 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 23:49:03,861 INFO L74 IsIncluded]: Start isIncluded. First operand 293 states. Second operand has 250 states, 237 states have (on average 1.2953586497890295) internal successors, (307), 249 states have internal predecessors, (307), 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 23:49:03,862 INFO L87 Difference]: Start difference. First operand 293 states. Second operand has 250 states, 237 states have (on average 1.2953586497890295) internal successors, (307), 249 states have internal predecessors, (307), 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 23:49:03,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:03,867 INFO L93 Difference]: Finished difference Result 293 states and 350 transitions. [2022-02-20 23:49:03,867 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 350 transitions. [2022-02-20 23:49:03,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:03,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:03,868 INFO L74 IsIncluded]: Start isIncluded. First operand has 250 states, 237 states have (on average 1.2953586497890295) internal successors, (307), 249 states have internal predecessors, (307), 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 293 states. [2022-02-20 23:49:03,868 INFO L87 Difference]: Start difference. First operand has 250 states, 237 states have (on average 1.2953586497890295) internal successors, (307), 249 states have internal predecessors, (307), 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 293 states. [2022-02-20 23:49:03,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:03,873 INFO L93 Difference]: Finished difference Result 293 states and 350 transitions. [2022-02-20 23:49:03,873 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 350 transitions. [2022-02-20 23:49:03,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:03,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:03,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:03,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:03,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 250 states, 237 states have (on average 1.2953586497890295) internal successors, (307), 249 states have internal predecessors, (307), 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 23:49:03,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 250 states to 250 states and 307 transitions. [2022-02-20 23:49:03,878 INFO L78 Accepts]: Start accepts. Automaton has 250 states and 307 transitions. Word has length 38 [2022-02-20 23:49:03,878 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:03,879 INFO L470 AbstractCegarLoop]: Abstraction has 250 states and 307 transitions. [2022-02-20 23:49:03,879 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 3.0357142857142856) internal successors, (85), 28 states have internal predecessors, (85), 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 23:49:03,879 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 307 transitions. [2022-02-20 23:49:03,879 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 23:49:03,879 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:03,880 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:03,904 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-02-20 23:49:04,102 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-02-20 23:49:04,103 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting ULTIMATE.startErr33REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 41 more)] === [2022-02-20 23:49:04,103 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:04,103 INFO L85 PathProgramCache]: Analyzing trace with hash -1693817782, now seen corresponding path program 1 times [2022-02-20 23:49:04,103 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:04,103 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1966215367] [2022-02-20 23:49:04,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:04,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:04,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:04,238 INFO L290 TraceCheckUtils]: 0: Hoare triple {19852#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(16, 2); {19852#true} is VALID [2022-02-20 23:49:04,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {19852#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {19852#true} is VALID [2022-02-20 23:49:04,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {19852#true} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {19852#true} is VALID [2022-02-20 23:49:04,239 INFO L290 TraceCheckUtils]: 3: Hoare triple {19852#true} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {19852#true} is VALID [2022-02-20 23:49:04,239 INFO L290 TraceCheckUtils]: 4: Hoare triple {19852#true} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {19854#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:04,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {19854#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {19854#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:04,240 INFO L290 TraceCheckUtils]: 6: Hoare triple {19854#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {19854#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:04,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {19854#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {19854#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:04,241 INFO L290 TraceCheckUtils]: 8: Hoare triple {19854#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {19855#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:04,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {19855#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {19855#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:04,242 INFO L290 TraceCheckUtils]: 10: Hoare triple {19855#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {19855#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:04,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {19855#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {19855#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:04,243 INFO L290 TraceCheckUtils]: 12: Hoare triple {19855#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {19856#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:04,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {19856#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {19857#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:04,244 INFO L290 TraceCheckUtils]: 14: Hoare triple {19857#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {19857#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:04,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {19857#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {19858#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:04,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {19858#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~p~0#1.offset|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {19859#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:49:04,246 INFO L290 TraceCheckUtils]: 17: Hoare triple {19859#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1) (not (= |ULTIMATE.start_main_#t~mem10#1.base| |ULTIMATE.start_main_~a~0#1.base|)))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {19860#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:49:04,246 INFO L290 TraceCheckUtils]: 18: Hoare triple {19860#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {19860#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:49:04,247 INFO L290 TraceCheckUtils]: 19: Hoare triple {19860#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {19860#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:49:04,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {19860#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {19860#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} is VALID [2022-02-20 23:49:04,248 INFO L290 TraceCheckUtils]: 21: Hoare triple {19860#(and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {19861#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1)} is VALID [2022-02-20 23:49:04,248 INFO L290 TraceCheckUtils]: 22: Hoare triple {19861#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) 1)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {19862#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} is VALID [2022-02-20 23:49:04,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {19862#(= (select (select |#memory_int| |ULTIMATE.start_main_~p~0#1.base|) |ULTIMATE.start_main_~p~0#1.offset|) 1)} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {19863#(= |ULTIMATE.start_main_#t~mem11#1| 1)} is VALID [2022-02-20 23:49:04,249 INFO L290 TraceCheckUtils]: 24: Hoare triple {19863#(= |ULTIMATE.start_main_#t~mem11#1| 1)} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {19853#false} is VALID [2022-02-20 23:49:04,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {19853#false} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {19853#false} is VALID [2022-02-20 23:49:04,249 INFO L290 TraceCheckUtils]: 26: Hoare triple {19853#false} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {19853#false} is VALID [2022-02-20 23:49:04,249 INFO L290 TraceCheckUtils]: 27: Hoare triple {19853#false} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {19853#false} is VALID [2022-02-20 23:49:04,249 INFO L290 TraceCheckUtils]: 28: Hoare triple {19853#false} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {19853#false} is VALID [2022-02-20 23:49:04,249 INFO L290 TraceCheckUtils]: 29: Hoare triple {19853#false} assume !(main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {19853#false} is VALID [2022-02-20 23:49:04,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {19853#false} SUMMARY for call main_#t~mem19#1.base, main_#t~mem19#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L610-3 {19853#false} is VALID [2022-02-20 23:49:04,250 INFO L290 TraceCheckUtils]: 31: Hoare triple {19853#false} assume !!(main_#t~mem19#1.base != 0 || main_#t~mem19#1.offset != 0);havoc main_#t~mem19#1.base, main_#t~mem19#1.offset; {19853#false} is VALID [2022-02-20 23:49:04,250 INFO L290 TraceCheckUtils]: 32: Hoare triple {19853#false} SUMMARY for call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L611 {19853#false} is VALID [2022-02-20 23:49:04,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {19853#false} main_~t~0#1.base, main_~t~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset; {19853#false} is VALID [2022-02-20 23:49:04,250 INFO L290 TraceCheckUtils]: 34: Hoare triple {19853#false} assume 0 == main_~p~0#1.offset; {19853#false} is VALID [2022-02-20 23:49:04,250 INFO L290 TraceCheckUtils]: 35: Hoare triple {19853#false} assume main_~p~0#1.base < #StackHeapBarrier; {19853#false} is VALID [2022-02-20 23:49:04,250 INFO L290 TraceCheckUtils]: 36: Hoare triple {19853#false} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset);main_~p~0#1.base, main_~p~0#1.offset := main_~t~0#1.base, main_~t~0#1.offset; {19853#false} is VALID [2022-02-20 23:49:04,250 INFO L290 TraceCheckUtils]: 37: Hoare triple {19853#false} assume !(1 == #valid[main_~p~0#1.base]); {19853#false} is VALID [2022-02-20 23:49:04,251 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:49:04,251 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:04,251 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1966215367] [2022-02-20 23:49:04,251 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1966215367] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:04,251 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1123685565] [2022-02-20 23:49:04,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:04,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:04,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:04,264 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:49:04,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-02-20 23:49:04,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:04,369 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 35 conjunts are in the unsatisfiable core [2022-02-20 23:49:04,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:04,380 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:04,540 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:49:04,541 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 23:49:04,621 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 13 treesize of output 9 [2022-02-20 23:49:05,122 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:49:05,122 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 35 [2022-02-20 23:49:06,032 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:49:06,032 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 31 treesize of output 25 [2022-02-20 23:49:06,385 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 17 treesize of output 17 [2022-02-20 23:49:06,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {19852#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(16, 2); {19852#true} is VALID [2022-02-20 23:49:06,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {19852#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~post6#1, main_#t~nondet7#1, main_#t~mem8#1, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~nondet4#1, main_#t~short5#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~post16#1, main_#t~mem11#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~p~0#1.base, main_~p~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset, main_~t~0#1.base, main_~t~0#1.offset, main_~i~0#1;havoc main_~p~0#1.base, main_~p~0#1.offset;havoc main_~a~0#1.base, main_~a~0#1.offset;havoc main_~t~0#1.base, main_~t~0#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);main_~a~0#1.base, main_~a~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {19870#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:06,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {19870#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} assume !(main_~a~0#1.base == 0 && main_~a~0#1.offset == 0); {19870#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:06,402 INFO L290 TraceCheckUtils]: 3: Hoare triple {19870#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, main_~a~0#1.base, 8 + main_~a~0#1.offset, 4); srcloc: L569-3 {19870#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} is VALID [2022-02-20 23:49:06,402 INFO L290 TraceCheckUtils]: 4: Hoare triple {19870#(<= |ULTIMATE.start_main_~a~0#1.offset| 0)} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~i~0#1 := 0; {19880#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:06,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {19880#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} main_#t~short5#1 := main_~i~0#1 < 20; {19880#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:06,403 INFO L290 TraceCheckUtils]: 6: Hoare triple {19880#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {19880#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:06,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {19880#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} assume !!main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1;main_#t~post6#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post6#1;havoc main_#t~post6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647; {19880#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} is VALID [2022-02-20 23:49:06,404 INFO L290 TraceCheckUtils]: 8: Hoare triple {19880#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|))} SUMMARY for call write~int(main_#t~nondet7#1, main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L575 {19893#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,404 INFO L290 TraceCheckUtils]: 9: Hoare triple {19893#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} havoc main_#t~nondet7#1; {19893#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,404 INFO L290 TraceCheckUtils]: 10: Hoare triple {19893#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem8#1 := read~int(main_~p~0#1.base, 4 + main_~p~0#1.offset, 4); srcloc: L576 {19893#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,407 INFO L290 TraceCheckUtils]: 11: Hoare triple {19893#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume 0 != main_#t~mem8#1;havoc main_#t~mem8#1; {19893#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,407 INFO L290 TraceCheckUtils]: 12: Hoare triple {19893#(and (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {19906#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,410 INFO L290 TraceCheckUtils]: 13: Hoare triple {19906#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {19910#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,410 INFO L290 TraceCheckUtils]: 14: Hoare triple {19910#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {19910#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,411 INFO L290 TraceCheckUtils]: 15: Hoare triple {19910#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {19917#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,412 INFO L290 TraceCheckUtils]: 16: Hoare triple {19917#(and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {19921#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= |ULTIMATE.start_main_#t~mem10#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,413 INFO L290 TraceCheckUtils]: 17: Hoare triple {19921#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))) (= |ULTIMATE.start_main_#t~mem10#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {19925#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,413 INFO L290 TraceCheckUtils]: 18: Hoare triple {19925#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {19925#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {19925#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {19925#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {19925#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {19925#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {19925#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= |ULTIMATE.start_main_~p~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))) (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} is VALID [2022-02-20 23:49:06,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} is VALID [2022-02-20 23:49:06,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} is VALID [2022-02-20 23:49:06,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} is VALID [2022-02-20 23:49:06,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} is VALID [2022-02-20 23:49:06,419 INFO L290 TraceCheckUtils]: 26: Hoare triple {19938#(and (= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1) (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (not (= |ULTIMATE.start_main_~a~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)))))))} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,420 INFO L290 TraceCheckUtils]: 27: Hoare triple {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,420 INFO L290 TraceCheckUtils]: 28: Hoare triple {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,421 INFO L290 TraceCheckUtils]: 29: Hoare triple {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !(main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,422 INFO L290 TraceCheckUtils]: 30: Hoare triple {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem19#1.base, main_#t~mem19#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L610-3 {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,422 INFO L290 TraceCheckUtils]: 31: Hoare triple {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume !!(main_#t~mem19#1.base != 0 || main_#t~mem19#1.offset != 0);havoc main_#t~mem19#1.base, main_#t~mem19#1.offset; {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {19954#(and (exists ((|ULTIMATE.start_main_~p~0#1.offset| Int)) (and (<= 0 |ULTIMATE.start_main_~p~0#1.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1) (<= |ULTIMATE.start_main_~p~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) |ULTIMATE.start_main_~p~0#1.base|)))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} SUMMARY for call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L611 {19973#(and (exists ((v_arrayElimCell_101 Int)) (and (not (= v_arrayElimCell_101 |ULTIMATE.start_main_~p~0#1.base|)) (or (= v_arrayElimCell_101 |ULTIMATE.start_main_#t~mem20#1.base|) (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0)) (= (select |#valid| v_arrayElimCell_101) 1))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,424 INFO L290 TraceCheckUtils]: 33: Hoare triple {19973#(and (exists ((v_arrayElimCell_101 Int)) (and (not (= v_arrayElimCell_101 |ULTIMATE.start_main_~p~0#1.base|)) (or (= v_arrayElimCell_101 |ULTIMATE.start_main_#t~mem20#1.base|) (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (< |ULTIMATE.start_main_~p~0#1.offset| 0)) (= (select |#valid| v_arrayElimCell_101) 1))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} main_~t~0#1.base, main_~t~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset; {19977#(and (exists ((v_arrayElimCell_101 Int)) (and (not (= v_arrayElimCell_101 |ULTIMATE.start_main_~p~0#1.base|)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (= v_arrayElimCell_101 |ULTIMATE.start_main_~t~0#1.base|) (< |ULTIMATE.start_main_~p~0#1.offset| 0)) (= (select |#valid| v_arrayElimCell_101) 1))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,424 INFO L290 TraceCheckUtils]: 34: Hoare triple {19977#(and (exists ((v_arrayElimCell_101 Int)) (and (not (= v_arrayElimCell_101 |ULTIMATE.start_main_~p~0#1.base|)) (or (< 0 |ULTIMATE.start_main_~p~0#1.offset|) (= v_arrayElimCell_101 |ULTIMATE.start_main_~t~0#1.base|) (< |ULTIMATE.start_main_~p~0#1.offset| 0)) (= (select |#valid| v_arrayElimCell_101) 1))) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume 0 == main_~p~0#1.offset; {19981#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {19981#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume main_~p~0#1.base < #StackHeapBarrier; {19981#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} is VALID [2022-02-20 23:49:06,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {19981#(and (not (= |ULTIMATE.start_main_~t~0#1.base| |ULTIMATE.start_main_~p~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~t~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1))} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset);main_~p~0#1.base, main_~p~0#1.offset := main_~t~0#1.base, main_~t~0#1.offset; {19988#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:49:06,425 INFO L290 TraceCheckUtils]: 37: Hoare triple {19988#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume !(1 == #valid[main_~p~0#1.base]); {19853#false} is VALID [2022-02-20 23:49:06,426 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:49:06,426 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:06,769 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |c_#valid| |c_ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |c_ULTIMATE.start_main_~a~0#1.base|) 8)) 1)) is different from false [2022-02-20 23:49:06,827 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |c_#valid| |c_ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_1061) |c_ULTIMATE.start_main_~a~0#1.base|) 8)) 1)) is different from false [2022-02-20 23:49:06,850 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |c_#valid| |c_ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |c_#memory_$Pointer$.base| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~p~0#1.base|) (+ |c_ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_1061) |c_ULTIMATE.start_main_~a~0#1.base|) 8)) 1)) is different from false [2022-02-20 23:49:06,874 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:49:06,875 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 25 treesize of output 26 [2022-02-20 23:49:06,887 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:49:06,888 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 42 treesize of output 45 [2022-02-20 23:49:06,892 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 14 treesize of output 12 [2022-02-20 23:49:14,490 INFO L356 Elim1Store]: treesize reduction 5, result has 89.8 percent of original size [2022-02-20 23:49:14,491 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 152 treesize of output 185 [2022-02-20 23:49:15,425 INFO L290 TraceCheckUtils]: 37: Hoare triple {19988#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} assume !(1 == #valid[main_~p~0#1.base]); {19853#false} is VALID [2022-02-20 23:49:15,426 INFO L290 TraceCheckUtils]: 36: Hoare triple {19995#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) |ULTIMATE.start_main_~t~0#1.base|) 1))} assume 0 == main_~p~0#1.base || 1 == #valid[main_~p~0#1.base];call ULTIMATE.dealloc(main_~p~0#1.base, main_~p~0#1.offset);main_~p~0#1.base, main_~p~0#1.offset := main_~t~0#1.base, main_~t~0#1.offset; {19988#(= (select |#valid| |ULTIMATE.start_main_~p~0#1.base|) 1)} is VALID [2022-02-20 23:49:15,426 INFO L290 TraceCheckUtils]: 35: Hoare triple {19995#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) |ULTIMATE.start_main_~t~0#1.base|) 1))} assume main_~p~0#1.base < #StackHeapBarrier; {19995#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) |ULTIMATE.start_main_~t~0#1.base|) 1))} is VALID [2022-02-20 23:49:15,427 INFO L290 TraceCheckUtils]: 34: Hoare triple {20002#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) |ULTIMATE.start_main_~t~0#1.base|) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} assume 0 == main_~p~0#1.offset; {19995#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) |ULTIMATE.start_main_~t~0#1.base|) 1))} is VALID [2022-02-20 23:49:15,427 INFO L290 TraceCheckUtils]: 33: Hoare triple {20006#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) |ULTIMATE.start_main_#t~mem20#1.base|) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} main_~t~0#1.base, main_~t~0#1.offset := main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset; {20002#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) |ULTIMATE.start_main_~t~0#1.base|) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} is VALID [2022-02-20 23:49:15,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {20010#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} SUMMARY for call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L611 {20006#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) |ULTIMATE.start_main_#t~mem20#1.base|) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} is VALID [2022-02-20 23:49:15,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {20010#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} assume !!(main_#t~mem19#1.base != 0 || main_#t~mem19#1.offset != 0);havoc main_#t~mem19#1.base, main_#t~mem19#1.offset; {20010#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} is VALID [2022-02-20 23:49:15,429 INFO L290 TraceCheckUtils]: 30: Hoare triple {20010#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} SUMMARY for call main_#t~mem19#1.base, main_#t~mem19#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L610-3 {20010#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} is VALID [2022-02-20 23:49:15,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {20010#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} assume !(main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0);havoc main_#t~mem18#1.base, main_#t~mem18#1.offset; {20010#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} is VALID [2022-02-20 23:49:15,430 INFO L290 TraceCheckUtils]: 28: Hoare triple {20023#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1))} SUMMARY for call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L605 {20010#(or (forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8))) 1)) (not (= |ULTIMATE.start_main_~p~0#1.offset| 0)))} is VALID [2022-02-20 23:49:15,430 INFO L290 TraceCheckUtils]: 27: Hoare triple {20023#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1))} assume !(main_~p~0#1.base == 0 && main_~p~0#1.offset == 0); {20023#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,431 INFO L290 TraceCheckUtils]: 26: Hoare triple {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} assume !(3 != main_#t~mem17#1 || main_~i~0#1 > 20);havoc main_#t~mem17#1;main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {20023#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,431 INFO L290 TraceCheckUtils]: 25: Hoare triple {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} SUMMARY for call main_#t~mem17#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-4 {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,431 INFO L290 TraceCheckUtils]: 24: Hoare triple {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} assume !(3 != main_#t~mem11#1);havoc main_#t~mem11#1; {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} SUMMARY for call main_#t~mem11#1 := read~int(main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L588-3 {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,432 INFO L290 TraceCheckUtils]: 22: Hoare triple {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_~a~0#1.base, main_~a~0#1.offset; {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,433 INFO L290 TraceCheckUtils]: 21: Hoare triple {20046#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} SUMMARY for call write~int(3, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L573-6 {20030#(forall ((v_ArrVal_1062 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {20046#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} assume !main_#t~short5#1;havoc main_#t~nondet4#1;havoc main_#t~short5#1; {20046#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,433 INFO L290 TraceCheckUtils]: 19: Hoare triple {20046#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} assume main_#t~short5#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_#t~short5#1 := 0 != main_#t~nondet4#1; {20046#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,434 INFO L290 TraceCheckUtils]: 18: Hoare triple {20046#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} main_#t~short5#1 := main_~i~0#1 < 20; {20046#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,434 INFO L290 TraceCheckUtils]: 17: Hoare triple {20059#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} main_~p~0#1.base, main_~p~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset; {20046#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {20063#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} SUMMARY for call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L583 {20059#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_main_#t~mem10#1.base| v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,436 INFO L290 TraceCheckUtils]: 15: Hoare triple {20067#(forall ((v_ArrVal_1062 Int) (v_arrayElimCell_105 Int)) (or (and (not (= v_arrayElimCell_105 |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (+ |ULTIMATE.start_main_~p~0#1.offset| 8) 8)) (and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_105) 1)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|) (forall ((v_arrayElimCell_107 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_107) 1)))))} SUMMARY for call write~$Pointer$(main_~t~0#1.base, main_~t~0#1.offset, main_~p~0#1.base, 8 + main_~p~0#1.offset, 4); srcloc: L582-3 {20063#(forall ((v_ArrVal_1062 Int) (v_ArrVal_1061 (Array Int Int))) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) (select (select (store |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~p~0#1.base|) (+ |ULTIMATE.start_main_~p~0#1.offset| 8)) v_ArrVal_1061) |ULTIMATE.start_main_~a~0#1.base|) 8)) 1))} is VALID [2022-02-20 23:49:15,437 INFO L290 TraceCheckUtils]: 14: Hoare triple {20067#(forall ((v_ArrVal_1062 Int) (v_arrayElimCell_105 Int)) (or (and (not (= v_arrayElimCell_105 |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (+ |ULTIMATE.start_main_~p~0#1.offset| 8) 8)) (and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_105) 1)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|) (forall ((v_arrayElimCell_107 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_107) 1)))))} assume !(main_~t~0#1.base == 0 && main_~t~0#1.offset == 0); {20067#(forall ((v_ArrVal_1062 Int) (v_arrayElimCell_105 Int)) (or (and (not (= v_arrayElimCell_105 |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (+ |ULTIMATE.start_main_~p~0#1.offset| 8) 8)) (and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_105) 1)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|) (forall ((v_arrayElimCell_107 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_107) 1)))))} is VALID [2022-02-20 23:49:17,439 WARN L290 TraceCheckUtils]: 13: Hoare triple {20074#(forall ((v_ArrVal_1062 Int) (|v_ULTIMATE.start_main_~t~0#1.base_25| Int) (v_arrayElimCell_105 Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_25| v_arrayElimCell_105)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (+ |ULTIMATE.start_main_~p~0#1.offset| 8) 8)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25|) 0)) (and (forall ((v_arrayElimCell_107 Int)) (= (select (store (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25| 1) |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_107) 1)) (= |v_ULTIMATE.start_main_~t~0#1.base_25| |ULTIMATE.start_main_~a~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_25| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25| 1) |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_105) 1))))} call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12);main_~t~0#1.base, main_~t~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {20067#(forall ((v_ArrVal_1062 Int) (v_arrayElimCell_105 Int)) (or (and (not (= v_arrayElimCell_105 |ULTIMATE.start_main_~t~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (+ |ULTIMATE.start_main_~p~0#1.offset| 8) 8)) (and (not (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_105) 1)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~t~0#1.base|) (forall ((v_arrayElimCell_107 Int)) (= (select (store |#valid| |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_107) 1)))))} is UNKNOWN [2022-02-20 23:49:17,442 INFO L290 TraceCheckUtils]: 12: Hoare triple {20078#(or (not (<= 0 |ULTIMATE.start_main_~p~0#1.offset|)) (forall ((v_ArrVal_1062 Int) (|v_ULTIMATE.start_main_~t~0#1.base_25| Int) (v_arrayElimCell_105 Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_25| v_arrayElimCell_105)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (+ |ULTIMATE.start_main_~p~0#1.offset| 8) 8)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25|) 0)) (and (forall ((v_arrayElimCell_107 Int)) (= (select (store (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25| 1) |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_107) 1)) (= |v_ULTIMATE.start_main_~t~0#1.base_25| |ULTIMATE.start_main_~a~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_25| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25| 1) |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_105) 1)))))} SUMMARY for call write~int(1, main_~p~0#1.base, main_~p~0#1.offset, 4); srcloc: L577 {20074#(forall ((v_ArrVal_1062 Int) (|v_ULTIMATE.start_main_~t~0#1.base_25| Int) (v_arrayElimCell_105 Int)) (or (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_25| v_arrayElimCell_105)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~p~0#1.base|) (= (+ |ULTIMATE.start_main_~p~0#1.offset| 8) 8)) (not (= (select |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25|) 0)) (and (forall ((v_arrayElimCell_107 Int)) (= (select (store (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25| 1) |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_107) 1)) (= |v_ULTIMATE.start_main_~t~0#1.base_25| |ULTIMATE.start_main_~a~0#1.base|)) (and (not (= |v_ULTIMATE.start_main_~t~0#1.base_25| |ULTIMATE.start_main_~a~0#1.base|)) (= (select (store (store |#valid| |v_ULTIMATE.start_main_~t~0#1.base_25| 1) |ULTIMATE.start_main_~a~0#1.base| v_ArrVal_1062) v_arrayElimCell_105) 1))))} is VALID