./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/array-memsafety/add_last-alloca-1.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/array-memsafety/add_last-alloca-1.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 870a7e5617be5a547f8d530603b5c27ad6cbb74bb05a83654285fee7bbb92753 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:39:06,636 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:39:06,637 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:39:06,664 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:39:06,665 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:39:06,666 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:39:06,667 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:39:06,668 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:39:06,670 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:39:06,670 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:39:06,671 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:39:06,673 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:39:06,674 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:39:06,679 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:39:06,680 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:39:06,682 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:39:06,684 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:39:06,685 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:39:06,686 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:39:06,692 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:39:06,695 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:39:06,696 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:39:06,697 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:39:06,698 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:39:06,701 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:39:06,703 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:39:06,703 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:39:06,704 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:39:06,705 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:39:06,706 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:39:06,707 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:39:06,707 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:39:06,708 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:39:06,709 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:39:06,710 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:39:06,711 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:39:06,712 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:39:06,712 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:39:06,712 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:39:06,713 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:39:06,714 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:39:06,714 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:39:06,745 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:39:06,748 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:39:06,748 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:39:06,748 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:39:06,749 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:39:06,749 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:39:06,750 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:39:06,750 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:39:06,750 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:39:06,750 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:39:06,751 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:39:06,751 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:39:06,752 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:39:06,752 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:39:06,752 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:39:06,752 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:39:06,752 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:39:06,753 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:39:06,753 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:39:06,753 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:39:06,753 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:39:06,753 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:39:06,754 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:39:06,754 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:39:06,754 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:39:06,754 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:39:06,754 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:39:06,755 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:39:06,755 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:39:06,755 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:39:06,755 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 -> 870a7e5617be5a547f8d530603b5c27ad6cbb74bb05a83654285fee7bbb92753 [2022-02-20 23:39:06,975 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:39:06,998 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:39:07,002 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:39:07,003 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:39:07,004 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:39:07,005 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-memsafety/add_last-alloca-1.i [2022-02-20 23:39:07,064 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bf2a811af/bf1fc261591a49339416bae35b4fff0f/FLAG07034b6fc [2022-02-20 23:39:07,431 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:39:07,431 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-memsafety/add_last-alloca-1.i [2022-02-20 23:39:07,443 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bf2a811af/bf1fc261591a49339416bae35b4fff0f/FLAG07034b6fc [2022-02-20 23:39:07,817 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bf2a811af/bf1fc261591a49339416bae35b4fff0f [2022-02-20 23:39:07,818 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:39:07,819 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:39:07,823 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:39:07,824 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:39:07,827 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:39:07,828 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:39:07" (1/1) ... [2022-02-20 23:39:07,829 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@a8a1d0e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:07, skipping insertion in model container [2022-02-20 23:39:07,829 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:39:07" (1/1) ... [2022-02-20 23:39:07,834 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:39:07,872 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:39:08,096 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:39:08,102 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:39:08,137 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:39:08,171 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:39:08,174 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08 WrapperNode [2022-02-20 23:39:08,174 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:39:08,175 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:39:08,175 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:39:08,175 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:39:08,183 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:39:08" (1/1) ... [2022-02-20 23:39:08,210 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:39:08" (1/1) ... [2022-02-20 23:39:08,238 INFO L137 Inliner]: procedures = 115, calls = 12, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 55 [2022-02-20 23:39:08,239 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:39:08,240 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:39:08,240 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:39:08,240 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:39:08,246 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (1/1) ... [2022-02-20 23:39:08,247 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (1/1) ... [2022-02-20 23:39:08,254 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (1/1) ... [2022-02-20 23:39:08,254 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (1/1) ... [2022-02-20 23:39:08,269 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (1/1) ... [2022-02-20 23:39:08,273 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (1/1) ... [2022-02-20 23:39:08,277 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (1/1) ... [2022-02-20 23:39:08,280 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:39:08,282 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:39:08,283 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:39:08,283 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:39:08,284 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (1/1) ... [2022-02-20 23:39:08,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:39:08,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:08,312 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:39:08,336 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:39:08,351 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:39:08,351 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:39:08,351 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:39:08,352 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:39:08,352 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:39:08,353 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:39:08,463 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:39:08,464 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:39:08,655 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:39:08,661 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:39:08,661 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 23:39:08,663 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:39:08 BoogieIcfgContainer [2022-02-20 23:39:08,663 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:39:08,664 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:39:08,665 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:39:08,667 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:39:08,668 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:39:07" (1/3) ... [2022-02-20 23:39:08,669 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2599f2cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:39:08, skipping insertion in model container [2022-02-20 23:39:08,669 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:39:08" (2/3) ... [2022-02-20 23:39:08,669 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2599f2cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:39:08, skipping insertion in model container [2022-02-20 23:39:08,669 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:39:08" (3/3) ... [2022-02-20 23:39:08,671 INFO L111 eAbstractionObserver]: Analyzing ICFG add_last-alloca-1.i [2022-02-20 23:39:08,675 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:39:08,675 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 13 error locations. [2022-02-20 23:39:08,709 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:39:08,715 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:39:08,715 INFO L340 AbstractCegarLoop]: Starting to check reachability of 13 error locations. [2022-02-20 23:39:08,729 INFO L276 IsEmpty]: Start isEmpty. Operand has 33 states, 19 states have (on average 2.0) internal successors, (38), 32 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have 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:39:08,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:39:08,736 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:08,737 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:39:08,737 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr12ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:08,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:08,742 INFO L85 PathProgramCache]: Analyzing trace with hash 889508760, now seen corresponding path program 1 times [2022-02-20 23:39:08,763 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:08,764 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1483050570] [2022-02-20 23:39:08,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:08,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:08,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:08,971 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {38#(<= 1 |#StackHeapBarrier|)} is VALID [2022-02-20 23:39:08,972 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#(<= 1 |#StackHeapBarrier|)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {38#(<= 1 |#StackHeapBarrier|)} is VALID [2022-02-20 23:39:08,972 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#(<= 1 |#StackHeapBarrier|)} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {38#(<= 1 |#StackHeapBarrier|)} is VALID [2022-02-20 23:39:08,974 INFO L290 TraceCheckUtils]: 3: Hoare triple {38#(<= 1 |#StackHeapBarrier|)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {39#(<= 2 |ULTIMATE.start_main_~arr~0#1.base|)} is VALID [2022-02-20 23:39:08,974 INFO L290 TraceCheckUtils]: 4: Hoare triple {39#(<= 2 |ULTIMATE.start_main_~arr~0#1.base|)} assume main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0;main_#res#1 := 0;call ULTIMATE.dealloc(main_#t~malloc3#1.base, main_#t~malloc3#1.offset);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {37#false} is VALID [2022-02-20 23:39:08,975 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#false} assume !(#valid == main_old_#valid#1); {37#false} is VALID [2022-02-20 23:39:08,976 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:39:08,976 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:08,976 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1483050570] [2022-02-20 23:39:08,977 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1483050570] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:08,977 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:39:08,977 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:39:08,979 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1917248614] [2022-02-20 23:39:08,980 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:08,985 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.5) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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 6 [2022-02-20 23:39:08,985 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:08,988 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 1.5) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have 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:39:09,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:09,006 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:39:09,007 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:09,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:39:09,031 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:39:09,034 INFO L87 Difference]: Start difference. First operand has 33 states, 19 states have (on average 2.0) internal successors, (38), 32 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 4 states, 4 states have (on average 1.5) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have 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:39:09,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,153 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2022-02-20 23:39:09,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:39:09,154 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.5) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 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 6 [2022-02-20 23:39:09,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:09,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.5) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have 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:39:09,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-02-20 23:39:09,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.5) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have 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:39:09,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-02-20 23:39:09,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2022-02-20 23:39:09,214 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:09,228 INFO L225 Difference]: With dead ends: 33 [2022-02-20 23:39:09,229 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 23:39:09,230 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:39:09,237 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 62 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 12 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:09,238 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [62 Valid, 27 Invalid, 12 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:39:09,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 23:39:09,258 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2022-02-20 23:39:09,258 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:09,259 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 31 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 30 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have 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:39:09,259 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 31 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 30 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have 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:39:09,260 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 31 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 30 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have 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:39:09,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,263 INFO L93 Difference]: Finished difference Result 31 states and 33 transitions. [2022-02-20 23:39:09,263 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2022-02-20 23:39:09,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:09,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:09,264 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 30 states have internal predecessors, (33), 0 states have call successors, (0), 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 31 states. [2022-02-20 23:39:09,265 INFO L87 Difference]: Start difference. First operand has 31 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 30 states have internal predecessors, (33), 0 states have call successors, (0), 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 31 states. [2022-02-20 23:39:09,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,268 INFO L93 Difference]: Finished difference Result 31 states and 33 transitions. [2022-02-20 23:39:09,268 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2022-02-20 23:39:09,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:09,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:09,268 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:09,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:09,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 30 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have 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:39:09,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 33 transitions. [2022-02-20 23:39:09,272 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 33 transitions. Word has length 6 [2022-02-20 23:39:09,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:09,274 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 33 transitions. [2022-02-20 23:39:09,275 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 1.5) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have 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:39:09,275 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2022-02-20 23:39:09,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:39:09,276 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:09,276 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:09,277 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:39:09,277 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:09,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:09,279 INFO L85 PathProgramCache]: Analyzing trace with hash 1804968471, now seen corresponding path program 1 times [2022-02-20 23:39:09,279 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:09,279 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [165046523] [2022-02-20 23:39:09,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:09,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:09,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:09,353 INFO L290 TraceCheckUtils]: 0: Hoare triple {170#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {170#true} is VALID [2022-02-20 23:39:09,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {170#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {170#true} is VALID [2022-02-20 23:39:09,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {170#true} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {172#(<= 1 |ULTIMATE.start_main_~length~0#1|)} is VALID [2022-02-20 23:39:09,355 INFO L290 TraceCheckUtils]: 3: Hoare triple {172#(<= 1 |ULTIMATE.start_main_~length~0#1|)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {172#(<= 1 |ULTIMATE.start_main_~length~0#1|)} is VALID [2022-02-20 23:39:09,356 INFO L290 TraceCheckUtils]: 4: Hoare triple {172#(<= 1 |ULTIMATE.start_main_~length~0#1|)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {173#(and (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:09,358 INFO L290 TraceCheckUtils]: 5: Hoare triple {173#(and (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~k~0#1 < main_~length~0#1); {171#false} is VALID [2022-02-20 23:39:09,358 INFO L290 TraceCheckUtils]: 6: Hoare triple {171#false} assume !(1 == #valid[main_~a~0#1.base]); {171#false} is VALID [2022-02-20 23:39:09,358 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:39:09,358 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:09,359 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [165046523] [2022-02-20 23:39:09,359 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [165046523] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:09,360 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:39:09,360 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:39:09,360 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [853268567] [2022-02-20 23:39:09,361 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:09,362 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 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 7 [2022-02-20 23:39:09,362 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:09,363 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:09,370 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:39:09,370 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:09,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:39:09,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:39:09,372 INFO L87 Difference]: Start difference. First operand 31 states and 33 transitions. Second operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,466 INFO L93 Difference]: Finished difference Result 37 states and 39 transitions. [2022-02-20 23:39:09,466 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:39:09,466 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 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 7 [2022-02-20 23:39:09,466 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:09,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 40 transitions. [2022-02-20 23:39:09,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 40 transitions. [2022-02-20 23:39:09,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 40 transitions. [2022-02-20 23:39:09,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:09,519 INFO L225 Difference]: With dead ends: 37 [2022-02-20 23:39:09,519 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 23:39:09,520 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:39:09,526 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 38 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:09,527 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 42 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:39:09,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 23:39:09,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 32. [2022-02-20 23:39:09,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:09,533 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 32 states, 19 states have (on average 1.7894736842105263) internal successors, (34), 31 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have 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:39:09,534 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 32 states, 19 states have (on average 1.7894736842105263) internal successors, (34), 31 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have 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:39:09,535 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 32 states, 19 states have (on average 1.7894736842105263) internal successors, (34), 31 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have 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:39:09,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,538 INFO L93 Difference]: Finished difference Result 37 states and 39 transitions. [2022-02-20 23:39:09,538 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2022-02-20 23:39:09,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:09,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:09,541 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.7894736842105263) internal successors, (34), 31 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 37 states. [2022-02-20 23:39:09,542 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.7894736842105263) internal successors, (34), 31 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 37 states. [2022-02-20 23:39:09,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,546 INFO L93 Difference]: Finished difference Result 37 states and 39 transitions. [2022-02-20 23:39:09,546 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2022-02-20 23:39:09,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:09,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:09,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:09,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:09,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.7894736842105263) internal successors, (34), 31 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have 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:39:09,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 34 transitions. [2022-02-20 23:39:09,555 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 34 transitions. Word has length 7 [2022-02-20 23:39:09,555 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:09,555 INFO L470 AbstractCegarLoop]: Abstraction has 32 states and 34 transitions. [2022-02-20 23:39:09,555 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,556 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 34 transitions. [2022-02-20 23:39:09,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:39:09,557 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:09,557 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:09,558 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:39:09,558 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:09,558 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:09,559 INFO L85 PathProgramCache]: Analyzing trace with hash 1804968521, now seen corresponding path program 1 times [2022-02-20 23:39:09,559 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:09,559 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1368257878] [2022-02-20 23:39:09,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:09,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:09,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:09,647 INFO L290 TraceCheckUtils]: 0: Hoare triple {319#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {319#true} is VALID [2022-02-20 23:39:09,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {319#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {319#true} is VALID [2022-02-20 23:39:09,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {319#true} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {319#true} is VALID [2022-02-20 23:39:09,649 INFO L290 TraceCheckUtils]: 3: Hoare triple {319#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {321#(= (select |#valid| |ULTIMATE.start_main_~arr~0#1.base|) 1)} is VALID [2022-02-20 23:39:09,650 INFO L290 TraceCheckUtils]: 4: Hoare triple {321#(= (select |#valid| |ULTIMATE.start_main_~arr~0#1.base|) 1)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {321#(= (select |#valid| |ULTIMATE.start_main_~arr~0#1.base|) 1)} is VALID [2022-02-20 23:39:09,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {321#(= (select |#valid| |ULTIMATE.start_main_~arr~0#1.base|) 1)} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {321#(= (select |#valid| |ULTIMATE.start_main_~arr~0#1.base|) 1)} is VALID [2022-02-20 23:39:09,651 INFO L290 TraceCheckUtils]: 6: Hoare triple {321#(= (select |#valid| |ULTIMATE.start_main_~arr~0#1.base|) 1)} assume !(1 == #valid[main_~arr~0#1.base]); {320#false} is VALID [2022-02-20 23:39:09,651 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:39:09,651 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:09,651 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1368257878] [2022-02-20 23:39:09,652 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1368257878] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:09,652 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:39:09,652 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:39:09,652 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [641434173] [2022-02-20 23:39:09,653 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:09,653 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 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 7 [2022-02-20 23:39:09,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:09,654 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:09,662 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:39:09,662 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:09,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:39:09,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:39:09,663 INFO L87 Difference]: Start difference. First operand 32 states and 34 transitions. Second operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,727 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2022-02-20 23:39:09,727 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:39:09,727 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 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 7 [2022-02-20 23:39:09,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:09,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2022-02-20 23:39:09,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2022-02-20 23:39:09,742 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 33 transitions. [2022-02-20 23:39:09,772 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:09,773 INFO L225 Difference]: With dead ends: 29 [2022-02-20 23:39:09,773 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 23:39:09,773 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:39:09,780 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 21 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 18 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:09,782 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 18 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:39:09,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 23:39:09,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-02-20 23:39:09,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:09,790 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.631578947368421) internal successors, (31), 28 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:09,791 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.631578947368421) internal successors, (31), 28 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:09,791 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.631578947368421) internal successors, (31), 28 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:09,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,794 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2022-02-20 23:39:09,794 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2022-02-20 23:39:09,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:09,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:09,795 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.631578947368421) internal successors, (31), 28 states have internal predecessors, (31), 0 states have call successors, (0), 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 29 states. [2022-02-20 23:39:09,795 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.631578947368421) internal successors, (31), 28 states have internal predecessors, (31), 0 states have call successors, (0), 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 29 states. [2022-02-20 23:39:09,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:09,799 INFO L93 Difference]: Finished difference Result 29 states and 31 transitions. [2022-02-20 23:39:09,800 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2022-02-20 23:39:09,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:09,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:09,800 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:09,801 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:09,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.631578947368421) internal successors, (31), 28 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:09,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2022-02-20 23:39:09,804 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 31 transitions. Word has length 7 [2022-02-20 23:39:09,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:09,808 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 31 transitions. [2022-02-20 23:39:09,808 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,808 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2022-02-20 23:39:09,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:39:09,809 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:09,809 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:09,810 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:39:09,810 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:09,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:09,811 INFO L85 PathProgramCache]: Analyzing trace with hash 1804968522, now seen corresponding path program 1 times [2022-02-20 23:39:09,811 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:09,811 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1577087702] [2022-02-20 23:39:09,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:09,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:09,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:09,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {440#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {440#true} is VALID [2022-02-20 23:39:09,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {440#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {440#true} is VALID [2022-02-20 23:39:09,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {440#true} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {442#(<= 1 |ULTIMATE.start_main_~length~0#1|)} is VALID [2022-02-20 23:39:09,942 INFO L290 TraceCheckUtils]: 3: Hoare triple {442#(<= 1 |ULTIMATE.start_main_~length~0#1|)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {443#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:09,943 INFO L290 TraceCheckUtils]: 4: Hoare triple {443#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {444#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:09,944 INFO L290 TraceCheckUtils]: 5: Hoare triple {444#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {445#(and (<= 4 (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:09,945 INFO L290 TraceCheckUtils]: 6: Hoare triple {445#(and (<= 4 (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !(4 + (main_~arr~0#1.offset + 4 * main_~k~0#1) <= #length[main_~arr~0#1.base] && 0 <= main_~arr~0#1.offset + 4 * main_~k~0#1); {441#false} is VALID [2022-02-20 23:39:09,945 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:39:09,945 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:09,946 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1577087702] [2022-02-20 23:39:09,946 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1577087702] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:09,946 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:39:09,946 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:39:09,946 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2029648299] [2022-02-20 23:39:09,947 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:09,947 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 6 states have internal predecessors, (7), 0 states have call successors, (0), 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 7 [2022-02-20 23:39:09,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:09,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.4) internal successors, (7), 6 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:09,954 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:09,954 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:39:09,954 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:09,955 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:39:09,955 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:39:09,955 INFO L87 Difference]: Start difference. First operand 29 states and 31 transitions. Second operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 6 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:10,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,099 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2022-02-20 23:39:10,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:39:10,099 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 6 states have internal predecessors, (7), 0 states have call successors, (0), 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 7 [2022-02-20 23:39:10,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:10,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 6 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:10,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 35 transitions. [2022-02-20 23:39:10,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 6 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:10,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 35 transitions. [2022-02-20 23:39:10,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 35 transitions. [2022-02-20 23:39:10,138 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:39:10,139 INFO L225 Difference]: With dead ends: 30 [2022-02-20 23:39:10,139 INFO L226 Difference]: Without dead ends: 30 [2022-02-20 23:39:10,139 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:39:10,140 INFO L933 BasicCegarLoop]: 13 mSDtfsCounter, 53 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 55 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:10,141 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 35 Invalid, 55 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:39:10,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-02-20 23:39:10,143 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 28. [2022-02-20 23:39:10,143 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:10,143 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 28 states, 20 states have (on average 1.5) internal successors, (30), 27 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have 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:39:10,143 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 28 states, 20 states have (on average 1.5) internal successors, (30), 27 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have 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:39:10,144 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 28 states, 20 states have (on average 1.5) internal successors, (30), 27 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have 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:39:10,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,145 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2022-02-20 23:39:10,145 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2022-02-20 23:39:10,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:10,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:10,146 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 20 states have (on average 1.5) internal successors, (30), 27 states have internal predecessors, (30), 0 states have call successors, (0), 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 30 states. [2022-02-20 23:39:10,146 INFO L87 Difference]: Start difference. First operand has 28 states, 20 states have (on average 1.5) internal successors, (30), 27 states have internal predecessors, (30), 0 states have call successors, (0), 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 30 states. [2022-02-20 23:39:10,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,147 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2022-02-20 23:39:10,148 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2022-02-20 23:39:10,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:10,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:10,148 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:10,148 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:10,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 20 states have (on average 1.5) internal successors, (30), 27 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have 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:39:10,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 30 transitions. [2022-02-20 23:39:10,150 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 30 transitions. Word has length 7 [2022-02-20 23:39:10,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:10,150 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 30 transitions. [2022-02-20 23:39:10,150 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 6 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have 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:39:10,150 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 30 transitions. [2022-02-20 23:39:10,151 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:39:10,151 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:10,151 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:10,151 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:39:10,151 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:10,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:10,152 INFO L85 PathProgramCache]: Analyzing trace with hash -2013824102, now seen corresponding path program 1 times [2022-02-20 23:39:10,152 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:10,152 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [518888113] [2022-02-20 23:39:10,153 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:10,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:10,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:10,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {566#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {566#true} is VALID [2022-02-20 23:39:10,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {566#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {566#true} is VALID [2022-02-20 23:39:10,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {566#true} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {566#true} is VALID [2022-02-20 23:39:10,209 INFO L290 TraceCheckUtils]: 3: Hoare triple {566#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {568#(= (select |#valid| |ULTIMATE.start_main_~arr~0#1.base|) 1)} is VALID [2022-02-20 23:39:10,210 INFO L290 TraceCheckUtils]: 4: Hoare triple {568#(= (select |#valid| |ULTIMATE.start_main_~arr~0#1.base|) 1)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:39:10,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:39:10,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:39:10,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} havoc main_#t~nondet5#1; {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:39:10,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:39:10,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} assume !(main_~k~0#1 < main_~length~0#1); {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} is VALID [2022-02-20 23:39:10,212 INFO L290 TraceCheckUtils]: 10: Hoare triple {569#(= (select |#valid| |ULTIMATE.start_main_~a~0#1.base|) 1)} assume !(1 == #valid[main_~a~0#1.base]); {567#false} is VALID [2022-02-20 23:39:10,213 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:39:10,213 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:10,213 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [518888113] [2022-02-20 23:39:10,213 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [518888113] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:10,213 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:39:10,214 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:39:10,214 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1168340871] [2022-02-20 23:39:10,214 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:10,214 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:39:10,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:10,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:10,224 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:39:10,224 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:10,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:39:10,225 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:39:10,225 INFO L87 Difference]: Start difference. First operand 28 states and 30 transitions. Second operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,281 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2022-02-20 23:39:10,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:39:10,282 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:39:10,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:10,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 28 transitions. [2022-02-20 23:39:10,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 28 transitions. [2022-02-20 23:39:10,289 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 28 transitions. [2022-02-20 23:39:10,323 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:39:10,324 INFO L225 Difference]: With dead ends: 25 [2022-02-20 23:39:10,324 INFO L226 Difference]: Without dead ends: 25 [2022-02-20 23:39:10,324 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:39:10,325 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 28 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 16 SdHoareTripleChecker+Invalid, 26 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:10,325 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 16 Invalid, 26 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:39:10,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-02-20 23:39:10,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 25. [2022-02-20 23:39:10,327 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:10,328 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand has 25 states, 20 states have (on average 1.35) internal successors, (27), 24 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have 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:39:10,328 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand has 25 states, 20 states have (on average 1.35) internal successors, (27), 24 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have 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:39:10,328 INFO L87 Difference]: Start difference. First operand 25 states. Second operand has 25 states, 20 states have (on average 1.35) internal successors, (27), 24 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have 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:39:10,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,329 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2022-02-20 23:39:10,329 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2022-02-20 23:39:10,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:10,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:10,330 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 20 states have (on average 1.35) internal successors, (27), 24 states have internal predecessors, (27), 0 states have call successors, (0), 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 25 states. [2022-02-20 23:39:10,330 INFO L87 Difference]: Start difference. First operand has 25 states, 20 states have (on average 1.35) internal successors, (27), 24 states have internal predecessors, (27), 0 states have call successors, (0), 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 25 states. [2022-02-20 23:39:10,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,331 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2022-02-20 23:39:10,331 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2022-02-20 23:39:10,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:10,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:10,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:10,332 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:10,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 20 states have (on average 1.35) internal successors, (27), 24 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have 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:39:10,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 27 transitions. [2022-02-20 23:39:10,333 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 27 transitions. Word has length 11 [2022-02-20 23:39:10,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:10,333 INFO L470 AbstractCegarLoop]: Abstraction has 25 states and 27 transitions. [2022-02-20 23:39:10,333 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,333 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2022-02-20 23:39:10,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:39:10,334 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:10,334 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:10,334 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:39:10,334 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:10,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:10,335 INFO L85 PathProgramCache]: Analyzing trace with hash -2013824101, now seen corresponding path program 1 times [2022-02-20 23:39:10,335 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:10,335 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135619793] [2022-02-20 23:39:10,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:10,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:10,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:10,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {674#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {674#true} is VALID [2022-02-20 23:39:10,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {674#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {674#true} is VALID [2022-02-20 23:39:10,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {674#true} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {676#(<= 1 |ULTIMATE.start_main_~length~0#1|)} is VALID [2022-02-20 23:39:10,463 INFO L290 TraceCheckUtils]: 3: Hoare triple {676#(<= 1 |ULTIMATE.start_main_~length~0#1|)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {677#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|) (= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:10,464 INFO L290 TraceCheckUtils]: 4: Hoare triple {677#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|) (= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:10,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:10,465 INFO L290 TraceCheckUtils]: 6: Hoare triple {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:10,466 INFO L290 TraceCheckUtils]: 7: Hoare triple {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:10,466 INFO L290 TraceCheckUtils]: 8: Hoare triple {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:10,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {678#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~k~0#1 < main_~length~0#1); {679#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:10,468 INFO L290 TraceCheckUtils]: 10: Hoare triple {679#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {675#false} is VALID [2022-02-20 23:39:10,468 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:39:10,468 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:10,468 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [135619793] [2022-02-20 23:39:10,469 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [135619793] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:10,469 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:39:10,469 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:39:10,469 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [615457289] [2022-02-20 23:39:10,469 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:10,470 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:39:10,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:10,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,480 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:10,480 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:39:10,481 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:10,481 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:39:10,481 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:39:10,482 INFO L87 Difference]: Start difference. First operand 25 states and 27 transitions. Second operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,623 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2022-02-20 23:39:10,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:39:10,623 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:39:10,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:10,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-02-20 23:39:10,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-02-20 23:39:10,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 38 transitions. [2022-02-20 23:39:10,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:10,684 INFO L225 Difference]: With dead ends: 35 [2022-02-20 23:39:10,684 INFO L226 Difference]: Without dead ends: 35 [2022-02-20 23:39:10,684 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:39:10,685 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 55 mSDsluCounter, 9 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 19 SdHoareTripleChecker+Invalid, 35 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:10,685 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 19 Invalid, 35 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:39:10,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-02-20 23:39:10,687 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 31. [2022-02-20 23:39:10,687 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:10,688 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 31 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have 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:39:10,688 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 31 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have 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:39:10,688 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 31 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have 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:39:10,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,689 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2022-02-20 23:39:10,689 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 37 transitions. [2022-02-20 23:39:10,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:10,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:10,690 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 0 states have call successors, (0), 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 35 states. [2022-02-20 23:39:10,690 INFO L87 Difference]: Start difference. First operand has 31 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 0 states have call successors, (0), 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 35 states. [2022-02-20 23:39:10,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:10,703 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2022-02-20 23:39:10,703 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 37 transitions. [2022-02-20 23:39:10,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:10,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:10,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:10,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:10,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have 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:39:10,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 34 transitions. [2022-02-20 23:39:10,705 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 34 transitions. Word has length 11 [2022-02-20 23:39:10,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:10,706 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 34 transitions. [2022-02-20 23:39:10,706 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.2) internal successors, (11), 6 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:10,706 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 34 transitions. [2022-02-20 23:39:10,706 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:39:10,707 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:10,707 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:10,707 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 23:39:10,707 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:10,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:10,708 INFO L85 PathProgramCache]: Analyzing trace with hash -2013824051, now seen corresponding path program 1 times [2022-02-20 23:39:10,708 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:10,708 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2134755369] [2022-02-20 23:39:10,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:10,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:10,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:10,765 INFO L290 TraceCheckUtils]: 0: Hoare triple {820#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {820#true} is VALID [2022-02-20 23:39:10,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {820#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {820#true} is VALID [2022-02-20 23:39:10,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {820#true} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {822#(<= |ULTIMATE.start_main_~length~0#1| 1)} is VALID [2022-02-20 23:39:10,771 INFO L290 TraceCheckUtils]: 3: Hoare triple {822#(<= |ULTIMATE.start_main_~length~0#1| 1)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {822#(<= |ULTIMATE.start_main_~length~0#1| 1)} is VALID [2022-02-20 23:39:10,771 INFO L290 TraceCheckUtils]: 4: Hoare triple {822#(<= |ULTIMATE.start_main_~length~0#1| 1)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {823#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:10,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {823#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {823#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:10,772 INFO L290 TraceCheckUtils]: 6: Hoare triple {823#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {823#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:10,773 INFO L290 TraceCheckUtils]: 7: Hoare triple {823#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {823#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:10,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {823#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {824#(<= |ULTIMATE.start_main_~length~0#1| |ULTIMATE.start_main_~k~0#1|)} is VALID [2022-02-20 23:39:10,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {824#(<= |ULTIMATE.start_main_~length~0#1| |ULTIMATE.start_main_~k~0#1|)} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {821#false} is VALID [2022-02-20 23:39:10,774 INFO L290 TraceCheckUtils]: 10: Hoare triple {821#false} assume !(4 + (main_~arr~0#1.offset + 4 * main_~k~0#1) <= #length[main_~arr~0#1.base] && 0 <= main_~arr~0#1.offset + 4 * main_~k~0#1); {821#false} is VALID [2022-02-20 23:39:10,774 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:10,774 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:10,774 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2134755369] [2022-02-20 23:39:10,775 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2134755369] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:10,775 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [552428456] [2022-02-20 23:39:10,775 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:10,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:10,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:10,777 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:39:10,778 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:39:10,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:10,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:39:10,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:10,862 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:11,010 INFO L290 TraceCheckUtils]: 0: Hoare triple {820#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {820#true} is VALID [2022-02-20 23:39:11,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {820#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {820#true} is VALID [2022-02-20 23:39:11,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {820#true} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {822#(<= |ULTIMATE.start_main_~length~0#1| 1)} is VALID [2022-02-20 23:39:11,012 INFO L290 TraceCheckUtils]: 3: Hoare triple {822#(<= |ULTIMATE.start_main_~length~0#1| 1)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {822#(<= |ULTIMATE.start_main_~length~0#1| 1)} is VALID [2022-02-20 23:39:11,012 INFO L290 TraceCheckUtils]: 4: Hoare triple {822#(<= |ULTIMATE.start_main_~length~0#1| 1)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {840#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 1))} is VALID [2022-02-20 23:39:11,013 INFO L290 TraceCheckUtils]: 5: Hoare triple {840#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 1))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {840#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 1))} is VALID [2022-02-20 23:39:11,014 INFO L290 TraceCheckUtils]: 6: Hoare triple {840#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 1))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {840#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 1))} is VALID [2022-02-20 23:39:11,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {840#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 1))} havoc main_#t~nondet5#1; {840#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 1))} is VALID [2022-02-20 23:39:11,015 INFO L290 TraceCheckUtils]: 8: Hoare triple {840#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 1))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {853#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:11,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {853#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {821#false} is VALID [2022-02-20 23:39:11,015 INFO L290 TraceCheckUtils]: 10: Hoare triple {821#false} assume !(4 + (main_~arr~0#1.offset + 4 * main_~k~0#1) <= #length[main_~arr~0#1.base] && 0 <= main_~arr~0#1.offset + 4 * main_~k~0#1); {821#false} is VALID [2022-02-20 23:39:11,016 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:11,016 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:39:11,016 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [552428456] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:11,016 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:39:11,016 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 7 [2022-02-20 23:39:11,017 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2124818582] [2022-02-20 23:39:11,017 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:11,017 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:39:11,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:11,018 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:11,028 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:39:11,028 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:11,029 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:39:11,029 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:39:11,029 INFO L87 Difference]: Start difference. First operand 31 states and 34 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:11,121 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-02-20 23:39:11,122 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:39:11,122 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:39:11,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:11,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-02-20 23:39:11,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-02-20 23:39:11,125 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2022-02-20 23:39:11,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:11,173 INFO L225 Difference]: With dead ends: 57 [2022-02-20 23:39:11,173 INFO L226 Difference]: Without dead ends: 57 [2022-02-20 23:39:11,173 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:39:11,174 INFO L933 BasicCegarLoop]: 18 mSDtfsCounter, 32 mSDsluCounter, 31 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:11,174 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 49 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:39:11,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-02-20 23:39:11,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 38. [2022-02-20 23:39:11,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:11,182 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 38 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 37 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,183 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 38 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 37 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,183 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 38 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 37 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:11,184 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-02-20 23:39:11,184 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2022-02-20 23:39:11,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:11,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:11,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 37 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 57 states. [2022-02-20 23:39:11,185 INFO L87 Difference]: Start difference. First operand has 38 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 37 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 57 states. [2022-02-20 23:39:11,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:11,187 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-02-20 23:39:11,188 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2022-02-20 23:39:11,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:11,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:11,192 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:11,192 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:11,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 37 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 41 transitions. [2022-02-20 23:39:11,193 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 41 transitions. Word has length 11 [2022-02-20 23:39:11,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:11,194 INFO L470 AbstractCegarLoop]: Abstraction has 38 states and 41 transitions. [2022-02-20 23:39:11,194 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 5 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:11,194 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-02-20 23:39:11,194 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:39:11,195 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:11,195 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:11,222 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:39:11,422 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:11,422 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:11,422 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:11,422 INFO L85 PathProgramCache]: Analyzing trace with hash -1333765681, now seen corresponding path program 1 times [2022-02-20 23:39:11,423 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:11,423 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [748007142] [2022-02-20 23:39:11,423 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:11,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:11,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:11,529 INFO L290 TraceCheckUtils]: 0: Hoare triple {1068#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1068#true} is VALID [2022-02-20 23:39:11,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {1068#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1068#true} is VALID [2022-02-20 23:39:11,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {1068#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1068#true} is VALID [2022-02-20 23:39:11,530 INFO L290 TraceCheckUtils]: 3: Hoare triple {1068#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1070#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:11,531 INFO L290 TraceCheckUtils]: 4: Hoare triple {1070#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1071#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:11,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {1071#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1071#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:11,532 INFO L290 TraceCheckUtils]: 6: Hoare triple {1071#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1071#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:11,533 INFO L290 TraceCheckUtils]: 7: Hoare triple {1071#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {1071#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:11,533 INFO L290 TraceCheckUtils]: 8: Hoare triple {1071#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1072#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:11,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {1072#(and (= (+ (* (- 1) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (* |ULTIMATE.start_main_~length~0#1| 4)) 0) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1073#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~k~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:11,535 INFO L290 TraceCheckUtils]: 10: Hoare triple {1073#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~k~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !(4 + (main_~arr~0#1.offset + 4 * main_~k~0#1) <= #length[main_~arr~0#1.base] && 0 <= main_~arr~0#1.offset + 4 * main_~k~0#1); {1069#false} is VALID [2022-02-20 23:39:11,535 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:11,535 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:11,535 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [748007142] [2022-02-20 23:39:11,535 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [748007142] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:11,536 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [622332960] [2022-02-20 23:39:11,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:11,536 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:11,536 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:11,537 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:39:11,538 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:39:11,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:11,583 INFO L263 TraceCheckSpWp]: Trace formula consists of 55 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:39:11,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:11,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:11,676 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:39:11,828 INFO L290 TraceCheckUtils]: 0: Hoare triple {1068#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1068#true} is VALID [2022-02-20 23:39:11,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {1068#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1068#true} is VALID [2022-02-20 23:39:11,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {1068#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1068#true} is VALID [2022-02-20 23:39:11,830 INFO L290 TraceCheckUtils]: 3: Hoare triple {1068#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1086#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:11,830 INFO L290 TraceCheckUtils]: 4: Hoare triple {1086#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1090#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:11,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {1090#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1090#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:11,832 INFO L290 TraceCheckUtils]: 6: Hoare triple {1090#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1090#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:11,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {1090#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} havoc main_#t~nondet5#1; {1090#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:11,833 INFO L290 TraceCheckUtils]: 8: Hoare triple {1090#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1103#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:11,833 INFO L290 TraceCheckUtils]: 9: Hoare triple {1103#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1073#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~k~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:11,834 INFO L290 TraceCheckUtils]: 10: Hoare triple {1073#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~k~0#1| 4) 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !(4 + (main_~arr~0#1.offset + 4 * main_~k~0#1) <= #length[main_~arr~0#1.base] && 0 <= main_~arr~0#1.offset + 4 * main_~k~0#1); {1069#false} is VALID [2022-02-20 23:39:11,834 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:11,834 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:12,513 INFO L290 TraceCheckUtils]: 10: Hoare triple {1110#(and (<= 0 (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (<= (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !(4 + (main_~arr~0#1.offset + 4 * main_~k~0#1) <= #length[main_~arr~0#1.base] && 0 <= main_~arr~0#1.offset + 4 * main_~k~0#1); {1069#false} is VALID [2022-02-20 23:39:12,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {1114#(or (not (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|)) (and (<= 0 (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (<= (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1110#(and (<= 0 (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (<= (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:12,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {1118#(and (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))) (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1114#(or (not (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|)) (and (<= 0 (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (<= (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))))} is VALID [2022-02-20 23:39:12,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {1118#(and (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))) (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} havoc main_#t~nondet5#1; {1118#(and (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))) (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} is VALID [2022-02-20 23:39:12,518 INFO L290 TraceCheckUtils]: 6: Hoare triple {1118#(and (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))) (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1118#(and (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))) (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} is VALID [2022-02-20 23:39:12,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {1118#(and (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))) (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1118#(and (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))) (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} is VALID [2022-02-20 23:39:12,519 INFO L290 TraceCheckUtils]: 4: Hoare triple {1131#(and (or (<= |ULTIMATE.start_main_~length~0#1| 1) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) 1)) (or (<= |ULTIMATE.start_main_~length~0#1| 1) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1118#(and (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))) (or (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} is VALID [2022-02-20 23:39:12,520 INFO L290 TraceCheckUtils]: 3: Hoare triple {1068#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1131#(and (or (<= |ULTIMATE.start_main_~length~0#1| 1) (<= (div |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) 1)) (or (<= |ULTIMATE.start_main_~length~0#1| 1) (<= |ULTIMATE.start_main_~length~0#1| (+ (div (+ (- 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) 1))))} is VALID [2022-02-20 23:39:12,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {1068#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1068#true} is VALID [2022-02-20 23:39:12,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {1068#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1068#true} is VALID [2022-02-20 23:39:12,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {1068#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1068#true} is VALID [2022-02-20 23:39:12,521 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:12,522 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [622332960] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:12,522 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:12,522 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 12 [2022-02-20 23:39:12,522 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [918023875] [2022-02-20 23:39:12,522 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:12,523 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:39:12,523 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:12,523 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:12,549 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 23:39:12,549 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:12,549 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 23:39:12,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=105, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:39:12,550 INFO L87 Difference]: Start difference. First operand 38 states and 41 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:12,770 INFO L93 Difference]: Finished difference Result 39 states and 42 transitions. [2022-02-20 23:39:12,771 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:39:12,771 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:39:12,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:12,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 30 transitions. [2022-02-20 23:39:12,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 30 transitions. [2022-02-20 23:39:12,772 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 30 transitions. [2022-02-20 23:39:12,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:12,803 INFO L225 Difference]: With dead ends: 39 [2022-02-20 23:39:12,803 INFO L226 Difference]: Without dead ends: 39 [2022-02-20 23:39:12,804 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 13 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=73, Invalid=137, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:39:12,804 INFO L933 BasicCegarLoop]: 11 mSDtfsCounter, 45 mSDsluCounter, 28 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 83 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:12,804 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 39 Invalid, 83 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:39:12,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-02-20 23:39:12,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 36. [2022-02-20 23:39:12,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:12,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 36 states, 32 states have (on average 1.21875) internal successors, (39), 35 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,806 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 36 states, 32 states have (on average 1.21875) internal successors, (39), 35 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,807 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 36 states, 32 states have (on average 1.21875) internal successors, (39), 35 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:12,808 INFO L93 Difference]: Finished difference Result 39 states and 42 transitions. [2022-02-20 23:39:12,808 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 42 transitions. [2022-02-20 23:39:12,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:12,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:12,809 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 32 states have (on average 1.21875) internal successors, (39), 35 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 39 states. [2022-02-20 23:39:12,810 INFO L87 Difference]: Start difference. First operand has 36 states, 32 states have (on average 1.21875) internal successors, (39), 35 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 39 states. [2022-02-20 23:39:12,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:12,811 INFO L93 Difference]: Finished difference Result 39 states and 42 transitions. [2022-02-20 23:39:12,811 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 42 transitions. [2022-02-20 23:39:12,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:12,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:12,812 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:12,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:12,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 32 states have (on average 1.21875) internal successors, (39), 35 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 39 transitions. [2022-02-20 23:39:12,814 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 39 transitions. Word has length 11 [2022-02-20 23:39:12,814 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:12,814 INFO L470 AbstractCegarLoop]: Abstraction has 36 states and 39 transitions. [2022-02-20 23:39:12,814 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:12,814 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 39 transitions. [2022-02-20 23:39:12,815 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 23:39:12,815 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:12,815 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:12,841 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:39:13,035 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,SelfDestructingSolverStorable7 [2022-02-20 23:39:13,036 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr12ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:13,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:13,036 INFO L85 PathProgramCache]: Analyzing trace with hash -2109737472, now seen corresponding path program 1 times [2022-02-20 23:39:13,036 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:13,036 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576909952] [2022-02-20 23:39:13,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:13,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:13,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:13,100 INFO L290 TraceCheckUtils]: 0: Hoare triple {1300#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1300#true} is VALID [2022-02-20 23:39:13,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {1300#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1302#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:39:13,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {1302#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {1302#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:39:13,102 INFO L290 TraceCheckUtils]: 3: Hoare triple {1302#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,102 INFO L290 TraceCheckUtils]: 4: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,103 INFO L290 TraceCheckUtils]: 5: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,103 INFO L290 TraceCheckUtils]: 6: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} havoc main_#t~nondet5#1; {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(main_~k~0#1 < main_~length~0#1); {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,105 INFO L290 TraceCheckUtils]: 10: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,105 INFO L290 TraceCheckUtils]: 11: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} assume !(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} is VALID [2022-02-20 23:39:13,106 INFO L290 TraceCheckUtils]: 13: Hoare triple {1303#(= (store |#valid| |ULTIMATE.start_main_#t~malloc3#1.base| 0) |ULTIMATE.start_main_old_#valid#1|)} main_#res#1 := 0;call ULTIMATE.dealloc(main_#t~malloc3#1.base, main_#t~malloc3#1.offset);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1302#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:39:13,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {1302#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(#valid == main_old_#valid#1); {1301#false} is VALID [2022-02-20 23:39:13,107 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:39:13,107 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:13,107 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1576909952] [2022-02-20 23:39:13,107 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1576909952] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:13,108 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:39:13,108 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:39:13,108 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [792356791] [2022-02-20 23:39:13,108 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:13,108 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 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:39:13,109 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:13,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 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:39:13,119 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:39:13,120 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:39:13,120 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:13,120 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:39:13,120 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:39:13,121 INFO L87 Difference]: Start difference. First operand 36 states and 39 transitions. Second operand has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 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:39:13,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:13,158 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-02-20 23:39:13,158 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:39:13,158 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 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:39:13,158 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:13,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 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:39:13,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 24 transitions. [2022-02-20 23:39:13,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 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:39:13,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 24 transitions. [2022-02-20 23:39:13,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 24 transitions. [2022-02-20 23:39:13,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:13,179 INFO L225 Difference]: With dead ends: 35 [2022-02-20 23:39:13,180 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 23:39:13,180 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:39:13,180 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 9 mSDsluCounter, 13 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 28 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:13,181 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 28 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:39:13,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 23:39:13,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-02-20 23:39:13,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:13,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 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:39:13,184 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 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:39:13,184 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 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:39:13,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:13,185 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2022-02-20 23:39:13,185 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2022-02-20 23:39:13,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:13,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:13,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 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) Second operand 33 states. [2022-02-20 23:39:13,186 INFO L87 Difference]: Start difference. First operand has 33 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 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) Second operand 33 states. [2022-02-20 23:39:13,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:13,187 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2022-02-20 23:39:13,187 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2022-02-20 23:39:13,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:13,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:13,187 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:13,187 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:13,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 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:39:13,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 35 transitions. [2022-02-20 23:39:13,188 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 35 transitions. Word has length 15 [2022-02-20 23:39:13,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:13,189 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 35 transitions. [2022-02-20 23:39:13,189 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 5.0) internal successors, (15), 4 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:39:13,189 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2022-02-20 23:39:13,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:39:13,189 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:13,190 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:13,190 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 23:39:13,190 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:13,190 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:13,190 INFO L85 PathProgramCache]: Analyzing trace with hash 1407328063, now seen corresponding path program 1 times [2022-02-20 23:39:13,191 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:13,191 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2072395290] [2022-02-20 23:39:13,191 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:13,191 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:13,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:13,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {1440#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1440#true} is VALID [2022-02-20 23:39:13,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {1440#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1440#true} is VALID [2022-02-20 23:39:13,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {1440#true} assume main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911;main_~length~0#1 := 1; {1442#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:13,490 INFO L290 TraceCheckUtils]: 3: Hoare triple {1442#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (<= 1 |ULTIMATE.start_main_~length~0#1|))} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1443#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)))} is VALID [2022-02-20 23:39:13,494 INFO L290 TraceCheckUtils]: 4: Hoare triple {1443#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:13,495 INFO L290 TraceCheckUtils]: 5: Hoare triple {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:13,496 INFO L290 TraceCheckUtils]: 6: Hoare triple {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:13,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~nondet5#1; {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:13,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:13,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !(main_~k~0#1 < main_~length~0#1); {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:13,499 INFO L290 TraceCheckUtils]: 10: Hoare triple {1444#(and (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {1445#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)))} is VALID [2022-02-20 23:39:13,500 INFO L290 TraceCheckUtils]: 11: Hoare triple {1445#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {1446#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)))} is VALID [2022-02-20 23:39:13,500 INFO L290 TraceCheckUtils]: 12: Hoare triple {1446#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {1441#false} is VALID [2022-02-20 23:39:13,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {1441#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {1441#false} is VALID [2022-02-20 23:39:13,501 INFO L290 TraceCheckUtils]: 14: Hoare triple {1441#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {1441#false} is VALID [2022-02-20 23:39:13,501 INFO L290 TraceCheckUtils]: 15: Hoare triple {1441#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {1441#false} is VALID [2022-02-20 23:39:13,501 INFO L290 TraceCheckUtils]: 16: Hoare triple {1441#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {1441#false} is VALID [2022-02-20 23:39:13,501 INFO L290 TraceCheckUtils]: 17: Hoare triple {1441#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {1441#false} is VALID [2022-02-20 23:39:13,502 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:39:13,502 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:13,502 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2072395290] [2022-02-20 23:39:13,502 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2072395290] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:39:13,502 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:39:13,502 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:39:13,502 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1278643142] [2022-02-20 23:39:13,503 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:39:13,503 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 7 states have internal predecessors, (18), 0 states have call successors, (0), 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 18 [2022-02-20 23:39:13,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:13,503 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 7 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have 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:39:13,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:13,520 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:39:13,520 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:13,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:39:13,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:39:13,521 INFO L87 Difference]: Start difference. First operand 33 states and 35 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 7 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have 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:39:13,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:13,629 INFO L93 Difference]: Finished difference Result 36 states and 37 transitions. [2022-02-20 23:39:13,629 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:39:13,630 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 7 states have internal predecessors, (18), 0 states have call successors, (0), 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 18 [2022-02-20 23:39:13,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:13,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 7 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have 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:39:13,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 31 transitions. [2022-02-20 23:39:13,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 7 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have 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:39:13,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 31 transitions. [2022-02-20 23:39:13,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 31 transitions. [2022-02-20 23:39:13,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:13,658 INFO L225 Difference]: With dead ends: 36 [2022-02-20 23:39:13,658 INFO L226 Difference]: Without dead ends: 26 [2022-02-20 23:39:13,658 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=29, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:39:13,659 INFO L933 BasicCegarLoop]: 14 mSDtfsCounter, 12 mSDsluCounter, 28 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:13,659 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 42 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:39:13,659 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-02-20 23:39:13,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2022-02-20 23:39:13,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:13,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have 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:39:13,661 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have 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:39:13,661 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have 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:39:13,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:13,662 INFO L93 Difference]: Finished difference Result 26 states and 27 transitions. [2022-02-20 23:39:13,662 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2022-02-20 23:39:13,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:13,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:13,662 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 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 26 states. [2022-02-20 23:39:13,662 INFO L87 Difference]: Start difference. First operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 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 26 states. [2022-02-20 23:39:13,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:13,663 INFO L93 Difference]: Finished difference Result 26 states and 27 transitions. [2022-02-20 23:39:13,663 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2022-02-20 23:39:13,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:13,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:13,663 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:13,663 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:13,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 23 states have (on average 1.173913043478261) internal successors, (27), 25 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have 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:39:13,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 27 transitions. [2022-02-20 23:39:13,664 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 27 transitions. Word has length 18 [2022-02-20 23:39:13,665 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:13,665 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 27 transitions. [2022-02-20 23:39:13,665 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 7 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have 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:39:13,665 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2022-02-20 23:39:13,665 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:39:13,665 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:13,666 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:13,666 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 23:39:13,666 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:13,666 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:13,666 INFO L85 PathProgramCache]: Analyzing trace with hash 386259709, now seen corresponding path program 1 times [2022-02-20 23:39:13,667 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:13,667 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [785810341] [2022-02-20 23:39:13,667 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:13,667 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:13,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:14,105 INFO L290 TraceCheckUtils]: 0: Hoare triple {1565#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1565#true} is VALID [2022-02-20 23:39:14,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {1565#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1565#true} is VALID [2022-02-20 23:39:14,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {1565#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1567#(<= 1 |ULTIMATE.start_main_~length~0#1|)} is VALID [2022-02-20 23:39:14,106 INFO L290 TraceCheckUtils]: 3: Hoare triple {1567#(<= 1 |ULTIMATE.start_main_~length~0#1|)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1568#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,107 INFO L290 TraceCheckUtils]: 4: Hoare triple {1568#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1569#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,108 INFO L290 TraceCheckUtils]: 5: Hoare triple {1569#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1569#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,109 INFO L290 TraceCheckUtils]: 6: Hoare triple {1569#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1570#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {1570#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {1570#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {1570#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1571#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (<= |ULTIMATE.start_main_~k~0#1| 1) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4)) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)))} is VALID [2022-02-20 23:39:14,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {1571#(and (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) 0)) (and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (<= |ULTIMATE.start_main_~k~0#1| 1) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4)) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)))} assume !(main_~k~0#1 < main_~length~0#1); {1572#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:14,113 INFO L290 TraceCheckUtils]: 10: Hoare triple {1572#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {1573#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:14,113 INFO L290 TraceCheckUtils]: 11: Hoare triple {1573#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {1574#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:14,114 INFO L290 TraceCheckUtils]: 12: Hoare triple {1574#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 4) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) 3)) (= (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {1566#false} is VALID [2022-02-20 23:39:14,114 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {1566#false} is VALID [2022-02-20 23:39:14,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {1566#false} is VALID [2022-02-20 23:39:14,115 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {1566#false} is VALID [2022-02-20 23:39:14,115 INFO L290 TraceCheckUtils]: 16: Hoare triple {1566#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {1566#false} is VALID [2022-02-20 23:39:14,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {1566#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {1566#false} is VALID [2022-02-20 23:39:14,115 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:14,115 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:14,116 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [785810341] [2022-02-20 23:39:14,116 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [785810341] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:14,116 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [778127751] [2022-02-20 23:39:14,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:14,116 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:14,116 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:14,118 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:39:14,119 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:39:14,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:14,168 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:39:14,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:14,177 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:14,266 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 15 treesize of output 11 [2022-02-20 23:39:14,467 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:39:14,469 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:14,469 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 19 treesize of output 10 [2022-02-20 23:39:14,496 INFO L290 TraceCheckUtils]: 0: Hoare triple {1565#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1565#true} is VALID [2022-02-20 23:39:14,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {1565#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1565#true} is VALID [2022-02-20 23:39:14,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {1565#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1567#(<= 1 |ULTIMATE.start_main_~length~0#1|)} is VALID [2022-02-20 23:39:14,498 INFO L290 TraceCheckUtils]: 3: Hoare triple {1567#(<= 1 |ULTIMATE.start_main_~length~0#1|)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1568#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,498 INFO L290 TraceCheckUtils]: 4: Hoare triple {1568#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,499 INFO L290 TraceCheckUtils]: 5: Hoare triple {1590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,499 INFO L290 TraceCheckUtils]: 6: Hoare triple {1590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,500 INFO L290 TraceCheckUtils]: 7: Hoare triple {1590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {1590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {1590#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1603#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,501 INFO L290 TraceCheckUtils]: 9: Hoare triple {1603#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~k~0#1 < main_~length~0#1); {1607#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,502 INFO L290 TraceCheckUtils]: 10: Hoare triple {1607#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {1611#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) |ULTIMATE.start_main_~arr~0#1.offset|)))} is VALID [2022-02-20 23:39:14,502 INFO L290 TraceCheckUtils]: 11: Hoare triple {1611#(and (<= |ULTIMATE.start_main_~length~0#1| 1) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) |ULTIMATE.start_main_~arr~0#1.offset|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {1615#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:14,503 INFO L290 TraceCheckUtils]: 12: Hoare triple {1615#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {1566#false} is VALID [2022-02-20 23:39:14,503 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {1566#false} is VALID [2022-02-20 23:39:14,503 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {1566#false} is VALID [2022-02-20 23:39:14,503 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {1566#false} is VALID [2022-02-20 23:39:14,504 INFO L290 TraceCheckUtils]: 16: Hoare triple {1566#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {1566#false} is VALID [2022-02-20 23:39:14,504 INFO L290 TraceCheckUtils]: 17: Hoare triple {1566#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {1566#false} is VALID [2022-02-20 23:39:14,504 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:14,504 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:14,640 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:14,640 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 68 treesize of output 70 [2022-02-20 23:39:14,729 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 19 treesize of output 17 [2022-02-20 23:39:14,752 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:14,753 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 106 treesize of output 101 [2022-02-20 23:39:14,878 INFO L290 TraceCheckUtils]: 17: Hoare triple {1566#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {1566#false} is VALID [2022-02-20 23:39:14,878 INFO L290 TraceCheckUtils]: 16: Hoare triple {1566#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {1566#false} is VALID [2022-02-20 23:39:14,878 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {1566#false} is VALID [2022-02-20 23:39:14,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {1566#false} is VALID [2022-02-20 23:39:14,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {1566#false} is VALID [2022-02-20 23:39:14,879 INFO L290 TraceCheckUtils]: 12: Hoare triple {1615#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {1566#false} is VALID [2022-02-20 23:39:14,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {1652#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {1615#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:14,880 INFO L290 TraceCheckUtils]: 10: Hoare triple {1656#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {1652#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:14,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {1660#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)))))} assume !(main_~k~0#1 < main_~length~0#1); {1656#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:14,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {1664#(or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1660#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)))))} is VALID [2022-02-20 23:39:14,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {1664#(or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {1664#(or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,883 INFO L290 TraceCheckUtils]: 6: Hoare triple {1671#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1664#(or (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {1671#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1671#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,885 INFO L290 TraceCheckUtils]: 4: Hoare triple {1567#(<= 1 |ULTIMATE.start_main_~length~0#1|)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1671#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:14,885 INFO L290 TraceCheckUtils]: 3: Hoare triple {1567#(<= 1 |ULTIMATE.start_main_~length~0#1|)} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1567#(<= 1 |ULTIMATE.start_main_~length~0#1|)} is VALID [2022-02-20 23:39:14,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {1565#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1567#(<= 1 |ULTIMATE.start_main_~length~0#1|)} is VALID [2022-02-20 23:39:14,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {1565#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1565#true} is VALID [2022-02-20 23:39:14,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {1565#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1565#true} is VALID [2022-02-20 23:39:14,889 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:14,889 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [778127751] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:14,889 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:14,889 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 20 [2022-02-20 23:39:14,890 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [872046326] [2022-02-20 23:39:14,890 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:14,890 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.8) internal successors, (36), 20 states have internal predecessors, (36), 0 states have call successors, (0), 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 18 [2022-02-20 23:39:14,891 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:14,891 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.8) internal successors, (36), 20 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have 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:39:14,920 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:14,920 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:39:14,920 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:14,921 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:39:14,921 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=275, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:39:14,921 INFO L87 Difference]: Start difference. First operand 26 states and 27 transitions. Second operand has 20 states, 20 states have (on average 1.8) internal successors, (36), 20 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have 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:39:15,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:15,324 INFO L93 Difference]: Finished difference Result 36 states and 37 transitions. [2022-02-20 23:39:15,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:39:15,324 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.8) internal successors, (36), 20 states have internal predecessors, (36), 0 states have call successors, (0), 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 18 [2022-02-20 23:39:15,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:15,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.8) internal successors, (36), 20 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have 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:39:15,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32 transitions. [2022-02-20 23:39:15,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.8) internal successors, (36), 20 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have 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:39:15,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32 transitions. [2022-02-20 23:39:15,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 32 transitions. [2022-02-20 23:39:15,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:15,357 INFO L225 Difference]: With dead ends: 36 [2022-02-20 23:39:15,357 INFO L226 Difference]: Without dead ends: 33 [2022-02-20 23:39:15,358 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 25 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 172 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=169, Invalid=383, Unknown=0, NotChecked=0, Total=552 [2022-02-20 23:39:15,358 INFO L933 BasicCegarLoop]: 11 mSDtfsCounter, 45 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:15,359 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 47 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:39:15,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-02-20 23:39:15,363 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 30. [2022-02-20 23:39:15,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:15,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 30 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:15,363 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 30 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:15,363 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 30 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:15,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:15,364 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2022-02-20 23:39:15,364 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 23:39:15,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:15,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:15,365 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 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 33 states. [2022-02-20 23:39:15,365 INFO L87 Difference]: Start difference. First operand has 30 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 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 33 states. [2022-02-20 23:39:15,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:15,366 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2022-02-20 23:39:15,366 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2022-02-20 23:39:15,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:15,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:15,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:15,367 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:15,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:15,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2022-02-20 23:39:15,367 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 18 [2022-02-20 23:39:15,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:15,368 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2022-02-20 23:39:15,368 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.8) internal successors, (36), 20 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have 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:39:15,368 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 23:39:15,368 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:39:15,368 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:15,369 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:15,394 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:39:15,583 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:15,584 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:15,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:15,584 INFO L85 PathProgramCache]: Analyzing trace with hash -1254493542, now seen corresponding path program 2 times [2022-02-20 23:39:15,584 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:15,584 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1720090805] [2022-02-20 23:39:15,584 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:15,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:15,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:15,690 INFO L290 TraceCheckUtils]: 0: Hoare triple {1829#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1829#true} is VALID [2022-02-20 23:39:15,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {1829#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1829#true} is VALID [2022-02-20 23:39:15,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {1829#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1829#true} is VALID [2022-02-20 23:39:15,691 INFO L290 TraceCheckUtils]: 3: Hoare triple {1829#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1831#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:15,692 INFO L290 TraceCheckUtils]: 4: Hoare triple {1831#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:15,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {1832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:15,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {1832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:15,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {1832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {1832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:15,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {1832#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (* |ULTIMATE.start_main_~length~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1833#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~length~0#1| 4) 4) (+ (* |ULTIMATE.start_main_~k~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|))))} is VALID [2022-02-20 23:39:15,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {1833#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ (* |ULTIMATE.start_main_~length~0#1| 4) 4) (+ (* |ULTIMATE.start_main_~k~0#1| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,696 INFO L290 TraceCheckUtils]: 10: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,696 INFO L290 TraceCheckUtils]: 11: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~nondet5#1; {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,697 INFO L290 TraceCheckUtils]: 12: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(main_~k~0#1 < main_~length~0#1); {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,704 INFO L290 TraceCheckUtils]: 15: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,705 INFO L290 TraceCheckUtils]: 16: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,705 INFO L290 TraceCheckUtils]: 17: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,706 INFO L290 TraceCheckUtils]: 18: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,707 INFO L290 TraceCheckUtils]: 19: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:15,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {1834#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 8 (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {1835#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:15,708 INFO L290 TraceCheckUtils]: 21: Hoare triple {1835#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {1830#false} is VALID [2022-02-20 23:39:15,708 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:15,709 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:15,709 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1720090805] [2022-02-20 23:39:15,709 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1720090805] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:15,710 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1072315285] [2022-02-20 23:39:15,710 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:39:15,710 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:15,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:15,711 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:39:15,719 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:39:15,780 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:39:15,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:39:15,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 23:39:15,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:15,799 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:16,053 INFO L290 TraceCheckUtils]: 0: Hoare triple {1829#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1829#true} is VALID [2022-02-20 23:39:16,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {1829#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1829#true} is VALID [2022-02-20 23:39:16,053 INFO L290 TraceCheckUtils]: 2: Hoare triple {1829#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1829#true} is VALID [2022-02-20 23:39:16,054 INFO L290 TraceCheckUtils]: 3: Hoare triple {1829#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1829#true} is VALID [2022-02-20 23:39:16,054 INFO L290 TraceCheckUtils]: 4: Hoare triple {1829#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1851#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:16,055 INFO L290 TraceCheckUtils]: 5: Hoare triple {1851#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1851#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:16,055 INFO L290 TraceCheckUtils]: 6: Hoare triple {1851#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1851#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:16,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {1851#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {1851#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:16,056 INFO L290 TraceCheckUtils]: 8: Hoare triple {1851#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1864#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:16,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {1864#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1864#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:16,058 INFO L290 TraceCheckUtils]: 10: Hoare triple {1864#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1871#(<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:16,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {1871#(<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} havoc main_#t~nondet5#1; {1871#(<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:16,059 INFO L290 TraceCheckUtils]: 12: Hoare triple {1871#(<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1871#(<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:16,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {1871#(<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} assume !(main_~k~0#1 < main_~length~0#1); {1871#(<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:16,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {1871#(<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:16,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:16,061 INFO L290 TraceCheckUtils]: 16: Hoare triple {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:16,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:16,062 INFO L290 TraceCheckUtils]: 18: Hoare triple {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:16,063 INFO L290 TraceCheckUtils]: 19: Hoare triple {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:16,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {1884#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 1 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {1835#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:16,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {1835#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {1830#false} is VALID [2022-02-20 23:39:16,064 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:16,065 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:16,222 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:16,222 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 19 treesize of output 23 [2022-02-20 23:39:16,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {1906#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {1830#false} is VALID [2022-02-20 23:39:16,677 INFO L290 TraceCheckUtils]: 20: Hoare triple {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {1906#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:16,678 INFO L290 TraceCheckUtils]: 19: Hoare triple {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:16,678 INFO L290 TraceCheckUtils]: 18: Hoare triple {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:16,679 INFO L290 TraceCheckUtils]: 17: Hoare triple {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:16,679 INFO L290 TraceCheckUtils]: 16: Hoare triple {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:16,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:16,680 INFO L290 TraceCheckUtils]: 14: Hoare triple {1929#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {1910#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:16,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {1929#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !(main_~k~0#1 < main_~length~0#1); {1929#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:16,681 INFO L290 TraceCheckUtils]: 12: Hoare triple {1929#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1929#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:16,681 INFO L290 TraceCheckUtils]: 11: Hoare triple {1929#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {1929#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:16,682 INFO L290 TraceCheckUtils]: 10: Hoare triple {1942#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1929#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:16,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {1942#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1942#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:16,683 INFO L290 TraceCheckUtils]: 8: Hoare triple {1949#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {1942#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:16,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {1949#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {1949#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:16,685 INFO L290 TraceCheckUtils]: 6: Hoare triple {1949#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {1949#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:16,687 INFO L290 TraceCheckUtils]: 5: Hoare triple {1949#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1949#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:16,688 INFO L290 TraceCheckUtils]: 4: Hoare triple {1829#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {1949#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 4)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:16,689 INFO L290 TraceCheckUtils]: 3: Hoare triple {1829#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {1829#true} is VALID [2022-02-20 23:39:16,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {1829#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {1829#true} is VALID [2022-02-20 23:39:16,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {1829#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {1829#true} is VALID [2022-02-20 23:39:16,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {1829#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1829#true} is VALID [2022-02-20 23:39:16,690 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:16,690 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1072315285] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:16,690 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:16,690 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 15 [2022-02-20 23:39:16,690 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [513609694] [2022-02-20 23:39:16,690 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:16,691 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 16 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:39:16,691 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:16,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 16 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:16,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:16,735 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:39:16,736 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:16,736 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:39:16,736 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=193, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:39:16,736 INFO L87 Difference]: Start difference. First operand 30 states and 31 transitions. Second operand has 16 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 16 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:17,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:17,276 INFO L93 Difference]: Finished difference Result 36 states and 37 transitions. [2022-02-20 23:39:17,276 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:39:17,276 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 16 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:39:17,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:17,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 16 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:17,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 42 transitions. [2022-02-20 23:39:17,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 16 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:17,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 42 transitions. [2022-02-20 23:39:17,278 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 42 transitions. [2022-02-20 23:39:17,324 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:17,325 INFO L225 Difference]: With dead ends: 36 [2022-02-20 23:39:17,325 INFO L226 Difference]: Without dead ends: 36 [2022-02-20 23:39:17,325 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=99, Invalid=363, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:39:17,325 INFO L933 BasicCegarLoop]: 8 mSDtfsCounter, 102 mSDsluCounter, 31 mSDsCounter, 0 mSdLazyCounter, 138 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 102 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 157 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 138 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:17,326 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [102 Valid, 39 Invalid, 157 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 138 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:39:17,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-02-20 23:39:17,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 30. [2022-02-20 23:39:17,327 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:17,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:17,327 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:17,328 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:17,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:17,328 INFO L93 Difference]: Finished difference Result 36 states and 37 transitions. [2022-02-20 23:39:17,328 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 37 transitions. [2022-02-20 23:39:17,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:17,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:17,329 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 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 36 states. [2022-02-20 23:39:17,330 INFO L87 Difference]: Start difference. First operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 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 36 states. [2022-02-20 23:39:17,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:17,331 INFO L93 Difference]: Finished difference Result 36 states and 37 transitions. [2022-02-20 23:39:17,331 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 37 transitions. [2022-02-20 23:39:17,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:17,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:17,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:17,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:17,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 29 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have 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:39:17,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2022-02-20 23:39:17,332 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 22 [2022-02-20 23:39:17,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:17,333 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2022-02-20 23:39:17,333 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 16 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:17,333 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2022-02-20 23:39:17,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:39:17,334 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:17,334 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:17,359 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:39:17,543 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:17,543 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:17,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:17,544 INFO L85 PathProgramCache]: Analyzing trace with hash 1549441888, now seen corresponding path program 3 times [2022-02-20 23:39:17,544 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:17,544 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1319074131] [2022-02-20 23:39:17,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:17,544 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:17,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:17,821 INFO L290 TraceCheckUtils]: 0: Hoare triple {2123#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2123#true} is VALID [2022-02-20 23:39:17,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {2123#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2123#true} is VALID [2022-02-20 23:39:17,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {2123#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2123#true} is VALID [2022-02-20 23:39:17,822 INFO L290 TraceCheckUtils]: 3: Hoare triple {2123#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2125#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:39:17,823 INFO L290 TraceCheckUtils]: 4: Hoare triple {2125#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {2126#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:17,823 INFO L290 TraceCheckUtils]: 5: Hoare triple {2126#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2126#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:17,824 INFO L290 TraceCheckUtils]: 6: Hoare triple {2126#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2126#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:17,824 INFO L290 TraceCheckUtils]: 7: Hoare triple {2126#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {2126#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:17,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {2126#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2127#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {2127#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2128#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:39:17,827 INFO L290 TraceCheckUtils]: 10: Hoare triple {2128#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2128#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:39:17,827 INFO L290 TraceCheckUtils]: 11: Hoare triple {2128#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} havoc main_#t~nondet5#1; {2128#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:39:17,828 INFO L290 TraceCheckUtils]: 12: Hoare triple {2128#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= 1 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2129#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {2129#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !(main_~k~0#1 < main_~length~0#1); {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,835 INFO L290 TraceCheckUtils]: 16: Hoare triple {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,836 INFO L290 TraceCheckUtils]: 17: Hoare triple {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,837 INFO L290 TraceCheckUtils]: 19: Hoare triple {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,838 INFO L290 TraceCheckUtils]: 20: Hoare triple {2130#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2131#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {2131#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2132#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {2132#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2133#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:17,840 INFO L290 TraceCheckUtils]: 23: Hoare triple {2133#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2124#false} is VALID [2022-02-20 23:39:17,840 INFO L290 TraceCheckUtils]: 24: Hoare triple {2124#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2124#false} is VALID [2022-02-20 23:39:17,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {2124#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2124#false} is VALID [2022-02-20 23:39:17,840 INFO L290 TraceCheckUtils]: 26: Hoare triple {2124#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2124#false} is VALID [2022-02-20 23:39:17,840 INFO L290 TraceCheckUtils]: 27: Hoare triple {2124#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2124#false} is VALID [2022-02-20 23:39:17,841 INFO L290 TraceCheckUtils]: 28: Hoare triple {2124#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2124#false} is VALID [2022-02-20 23:39:17,843 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:17,844 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:17,844 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1319074131] [2022-02-20 23:39:17,844 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1319074131] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:17,844 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [962806247] [2022-02-20 23:39:17,844 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:39:17,844 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:17,845 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:17,846 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:39:17,872 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:39:17,925 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-02-20 23:39:17,925 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:39:17,926 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 23 conjunts are in the unsatisfiable core [2022-02-20 23:39:17,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:17,942 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:17,993 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:39:18,756 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:18,756 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 20 treesize of output 20 [2022-02-20 23:39:19,430 INFO L290 TraceCheckUtils]: 0: Hoare triple {2123#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2123#true} is VALID [2022-02-20 23:39:19,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {2123#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2123#true} is VALID [2022-02-20 23:39:19,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {2123#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2123#true} is VALID [2022-02-20 23:39:19,431 INFO L290 TraceCheckUtils]: 3: Hoare triple {2123#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2146#(and (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,432 INFO L290 TraceCheckUtils]: 4: Hoare triple {2146#(and (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {2150#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 0) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {2150#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 0) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2150#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 0) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,433 INFO L290 TraceCheckUtils]: 6: Hoare triple {2150#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 0) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2150#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 0) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,434 INFO L290 TraceCheckUtils]: 7: Hoare triple {2150#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 0) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} havoc main_#t~nondet5#1; {2150#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 0) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,435 INFO L290 TraceCheckUtils]: 8: Hoare triple {2150#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 0) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2163#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,436 INFO L290 TraceCheckUtils]: 9: Hoare triple {2163#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2163#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,436 INFO L290 TraceCheckUtils]: 10: Hoare triple {2163#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2163#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,437 INFO L290 TraceCheckUtils]: 11: Hoare triple {2163#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} havoc main_#t~nondet5#1; {2163#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,438 INFO L290 TraceCheckUtils]: 12: Hoare triple {2163#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2176#(and (<= |ULTIMATE.start_main_~k~0#1| 2) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,439 INFO L290 TraceCheckUtils]: 13: Hoare triple {2176#(and (<= |ULTIMATE.start_main_~k~0#1| 2) (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !(main_~k~0#1 < main_~length~0#1); {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,439 INFO L290 TraceCheckUtils]: 14: Hoare triple {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,441 INFO L290 TraceCheckUtils]: 16: Hoare triple {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,441 INFO L290 TraceCheckUtils]: 17: Hoare triple {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,442 INFO L290 TraceCheckUtils]: 18: Hoare triple {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,443 INFO L290 TraceCheckUtils]: 19: Hoare triple {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,444 INFO L290 TraceCheckUtils]: 20: Hoare triple {2180#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2202#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,445 INFO L290 TraceCheckUtils]: 21: Hoare triple {2202#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2206#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_#t~mem6#1|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:19,447 INFO L290 TraceCheckUtils]: 22: Hoare triple {2206#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 2) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 4) |ULTIMATE.start_main_~a~0#1.offset|) (<= 0 |ULTIMATE.start_main_~arr~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_#t~mem6#1|) (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2210#(or (and (<= (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (div (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 4)) (< (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (+ (div (+ |ULTIMATE.start_main_~a~0#1.offset| 3) 4) 1)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) 2)) (and (<= (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (div (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) 2)))} is VALID [2022-02-20 23:39:19,448 INFO L290 TraceCheckUtils]: 23: Hoare triple {2210#(or (and (<= (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (div (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 4)) (< (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (+ (div (+ |ULTIMATE.start_main_~a~0#1.offset| 3) 4) 1)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) 2)) (and (<= (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (div (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 4)) (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (div (- (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) 2)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2214#(and (< (div (* (- 1) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (+ (div (+ |ULTIMATE.start_main_~a~0#1.offset| 3) 4) 1)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (div (* (- 1) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (div (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (div (* (- 1) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) 2))} is VALID [2022-02-20 23:39:19,448 INFO L290 TraceCheckUtils]: 24: Hoare triple {2214#(and (< (div (* (- 1) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (+ (div (+ |ULTIMATE.start_main_~a~0#1.offset| 3) 4) 1)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (div (* (- 1) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) (div (select |#length| |ULTIMATE.start_main_~a~0#1.base|) 4)) (<= (div (* (- 1) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (- 4)) 2))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2124#false} is VALID [2022-02-20 23:39:19,449 INFO L290 TraceCheckUtils]: 25: Hoare triple {2124#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2124#false} is VALID [2022-02-20 23:39:19,449 INFO L290 TraceCheckUtils]: 26: Hoare triple {2124#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2124#false} is VALID [2022-02-20 23:39:19,449 INFO L290 TraceCheckUtils]: 27: Hoare triple {2124#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2124#false} is VALID [2022-02-20 23:39:19,449 INFO L290 TraceCheckUtils]: 28: Hoare triple {2124#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2124#false} is VALID [2022-02-20 23:39:19,450 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 7 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:19,450 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:19,571 INFO L356 Elim1Store]: treesize reduction 3, result has 81.3 percent of original size [2022-02-20 23:39:19,572 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 16 treesize of output 17 [2022-02-20 23:39:20,569 INFO L290 TraceCheckUtils]: 28: Hoare triple {2124#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2124#false} is VALID [2022-02-20 23:39:20,569 INFO L290 TraceCheckUtils]: 27: Hoare triple {2124#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2124#false} is VALID [2022-02-20 23:39:20,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {2124#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2124#false} is VALID [2022-02-20 23:39:20,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {2124#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2124#false} is VALID [2022-02-20 23:39:20,570 INFO L290 TraceCheckUtils]: 24: Hoare triple {2242#(not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2124#false} is VALID [2022-02-20 23:39:20,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {2246#(or (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2242#(not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:20,571 INFO L290 TraceCheckUtils]: 22: Hoare triple {2250#(or (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|))) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2246#(or (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|))))} is VALID [2022-02-20 23:39:20,572 INFO L290 TraceCheckUtils]: 21: Hoare triple {2254#(or (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|))) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2250#(or (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|))) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))))} is VALID [2022-02-20 23:39:20,572 INFO L290 TraceCheckUtils]: 20: Hoare triple {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2254#(or (not (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|))) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))))} is VALID [2022-02-20 23:39:20,573 INFO L290 TraceCheckUtils]: 19: Hoare triple {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,575 INFO L290 TraceCheckUtils]: 17: Hoare triple {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,576 INFO L290 TraceCheckUtils]: 16: Hoare triple {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,578 INFO L290 TraceCheckUtils]: 14: Hoare triple {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {2280#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} assume !(main_~k~0#1 < main_~length~0#1); {2258#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,580 INFO L290 TraceCheckUtils]: 12: Hoare triple {2284#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2280#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,581 INFO L290 TraceCheckUtils]: 11: Hoare triple {2284#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} havoc main_#t~nondet5#1; {2284#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,582 INFO L290 TraceCheckUtils]: 10: Hoare triple {2284#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2284#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {2284#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2284#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {2297#(or (< (+ 2 |ULTIMATE.start_main_~k~0#1|) |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2284#(or (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,584 INFO L290 TraceCheckUtils]: 7: Hoare triple {2297#(or (< (+ 2 |ULTIMATE.start_main_~k~0#1|) |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} havoc main_#t~nondet5#1; {2297#(or (< (+ 2 |ULTIMATE.start_main_~k~0#1|) |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,586 INFO L290 TraceCheckUtils]: 6: Hoare triple {2297#(or (< (+ 2 |ULTIMATE.start_main_~k~0#1|) |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2297#(or (< (+ 2 |ULTIMATE.start_main_~k~0#1|) |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {2297#(or (< (+ 2 |ULTIMATE.start_main_~k~0#1|) |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2297#(or (< (+ 2 |ULTIMATE.start_main_~k~0#1|) |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,587 INFO L290 TraceCheckUtils]: 4: Hoare triple {2310#(or (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| 8)) (< 2 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {2297#(or (< (+ 2 |ULTIMATE.start_main_~k~0#1|) |ULTIMATE.start_main_~length~0#1|) (not (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|))) (and (or (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8))) (or (<= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))))} is VALID [2022-02-20 23:39:20,588 INFO L290 TraceCheckUtils]: 3: Hoare triple {2123#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2310#(or (<= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))) (< (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| 8)) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:20,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {2123#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2123#true} is VALID [2022-02-20 23:39:20,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {2123#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2123#true} is VALID [2022-02-20 23:39:20,588 INFO L290 TraceCheckUtils]: 0: Hoare triple {2123#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2123#true} is VALID [2022-02-20 23:39:20,589 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:20,589 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [962806247] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:20,589 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:20,589 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 29 [2022-02-20 23:39:20,589 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [379758477] [2022-02-20 23:39:20,590 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:20,590 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 2.5172413793103448) internal successors, (73), 29 states have internal predecessors, (73), 0 states have call successors, (0), 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 29 [2022-02-20 23:39:20,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:20,590 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 2.5172413793103448) internal successors, (73), 29 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:39:20,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:20,666 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-02-20 23:39:20,666 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:20,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-02-20 23:39:20,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=670, Unknown=0, NotChecked=0, Total=812 [2022-02-20 23:39:20,666 INFO L87 Difference]: Start difference. First operand 30 states and 31 transitions. Second operand has 29 states, 29 states have (on average 2.5172413793103448) internal successors, (73), 29 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:39:21,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:21,819 INFO L93 Difference]: Finished difference Result 47 states and 48 transitions. [2022-02-20 23:39:21,819 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:39:21,819 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 2.5172413793103448) internal successors, (73), 29 states have internal predecessors, (73), 0 states have call successors, (0), 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 29 [2022-02-20 23:39:21,819 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:21,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 2.5172413793103448) internal successors, (73), 29 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:39:21,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 41 transitions. [2022-02-20 23:39:21,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 2.5172413793103448) internal successors, (73), 29 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:39:21,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 41 transitions. [2022-02-20 23:39:21,821 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 41 transitions. [2022-02-20 23:39:21,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:21,868 INFO L225 Difference]: With dead ends: 47 [2022-02-20 23:39:21,868 INFO L226 Difference]: Without dead ends: 37 [2022-02-20 23:39:21,868 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 418 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=300, Invalid=1260, Unknown=0, NotChecked=0, Total=1560 [2022-02-20 23:39:21,869 INFO L933 BasicCegarLoop]: 7 mSDtfsCounter, 114 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 114 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:21,869 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [114 Valid, 67 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:39:21,870 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-02-20 23:39:21,871 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 34. [2022-02-20 23:39:21,871 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:21,871 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 34 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 33 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:39:21,871 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 34 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 33 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:39:21,871 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 34 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 33 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:39:21,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:21,872 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2022-02-20 23:39:21,872 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2022-02-20 23:39:21,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:21,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:21,873 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 33 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) Second operand 37 states. [2022-02-20 23:39:21,873 INFO L87 Difference]: Start difference. First operand has 34 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 33 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) Second operand 37 states. [2022-02-20 23:39:21,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:21,874 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2022-02-20 23:39:21,874 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2022-02-20 23:39:21,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:21,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:21,875 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:21,875 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:21,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 33 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:39:21,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 35 transitions. [2022-02-20 23:39:21,876 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 35 transitions. Word has length 29 [2022-02-20 23:39:21,876 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:21,876 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 35 transitions. [2022-02-20 23:39:21,876 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 2.5172413793103448) internal successors, (73), 29 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:39:21,876 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2022-02-20 23:39:21,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 23:39:21,877 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:21,877 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:21,900 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:39:22,095 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,SelfDestructingSolverStorable12 [2022-02-20 23:39:22,095 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:22,096 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:22,096 INFO L85 PathProgramCache]: Analyzing trace with hash 1131712419, now seen corresponding path program 4 times [2022-02-20 23:39:22,096 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:22,096 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1797317755] [2022-02-20 23:39:22,096 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:22,096 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:22,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:22,291 INFO L290 TraceCheckUtils]: 0: Hoare triple {2499#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2499#true} is VALID [2022-02-20 23:39:22,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {2499#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2499#true} is VALID [2022-02-20 23:39:22,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {2499#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2499#true} is VALID [2022-02-20 23:39:22,294 INFO L290 TraceCheckUtils]: 3: Hoare triple {2499#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2501#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:22,295 INFO L290 TraceCheckUtils]: 4: Hoare triple {2501#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {2502#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:22,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {2502#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2502#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:22,296 INFO L290 TraceCheckUtils]: 6: Hoare triple {2502#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2502#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:22,296 INFO L290 TraceCheckUtils]: 7: Hoare triple {2502#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {2502#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:22,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {2502#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2503#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:22,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {2503#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2503#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:22,298 INFO L290 TraceCheckUtils]: 10: Hoare triple {2503#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2503#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:22,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {2503#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {2503#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:22,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {2503#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2504#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:22,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {2504#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,301 INFO L290 TraceCheckUtils]: 14: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,301 INFO L290 TraceCheckUtils]: 15: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,301 INFO L290 TraceCheckUtils]: 16: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,302 INFO L290 TraceCheckUtils]: 17: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~k~0#1 < main_~length~0#1); {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,302 INFO L290 TraceCheckUtils]: 18: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,303 INFO L290 TraceCheckUtils]: 19: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,303 INFO L290 TraceCheckUtils]: 20: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,304 INFO L290 TraceCheckUtils]: 21: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,305 INFO L290 TraceCheckUtils]: 23: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:22,305 INFO L290 TraceCheckUtils]: 24: Hoare triple {2505#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:22,306 INFO L290 TraceCheckUtils]: 25: Hoare triple {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:22,307 INFO L290 TraceCheckUtils]: 26: Hoare triple {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:22,307 INFO L290 TraceCheckUtils]: 27: Hoare triple {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:22,308 INFO L290 TraceCheckUtils]: 28: Hoare triple {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:22,309 INFO L290 TraceCheckUtils]: 29: Hoare triple {2506#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,309 INFO L290 TraceCheckUtils]: 30: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,310 INFO L290 TraceCheckUtils]: 31: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2508#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:22,310 INFO L290 TraceCheckUtils]: 32: Hoare triple {2508#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2500#false} is VALID [2022-02-20 23:39:22,310 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 1 proven. 23 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:22,311 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:22,311 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1797317755] [2022-02-20 23:39:22,311 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1797317755] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:22,311 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1771298631] [2022-02-20 23:39:22,311 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:39:22,311 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:22,311 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:22,312 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:39:22,313 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:39:22,372 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:39:22,372 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:39:22,373 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 23:39:22,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:22,384 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:22,769 INFO L290 TraceCheckUtils]: 0: Hoare triple {2499#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2499#true} is VALID [2022-02-20 23:39:22,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {2499#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2499#true} is VALID [2022-02-20 23:39:22,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {2499#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2499#true} is VALID [2022-02-20 23:39:22,770 INFO L290 TraceCheckUtils]: 3: Hoare triple {2499#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2499#true} is VALID [2022-02-20 23:39:22,773 INFO L290 TraceCheckUtils]: 4: Hoare triple {2499#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {2524#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:22,773 INFO L290 TraceCheckUtils]: 5: Hoare triple {2524#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2524#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:22,775 INFO L290 TraceCheckUtils]: 6: Hoare triple {2524#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2524#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:22,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {2524#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {2524#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:22,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {2524#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2537#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:22,777 INFO L290 TraceCheckUtils]: 9: Hoare triple {2537#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2537#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:22,777 INFO L290 TraceCheckUtils]: 10: Hoare triple {2537#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2537#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:22,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {2537#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {2537#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:22,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {2537#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2550#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:22,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {2550#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2550#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:22,779 INFO L290 TraceCheckUtils]: 14: Hoare triple {2550#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2557#(<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:22,780 INFO L290 TraceCheckUtils]: 15: Hoare triple {2557#(<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} havoc main_#t~nondet5#1; {2557#(<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:22,780 INFO L290 TraceCheckUtils]: 16: Hoare triple {2557#(<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2557#(<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:22,780 INFO L290 TraceCheckUtils]: 17: Hoare triple {2557#(<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} assume !(main_~k~0#1 < main_~length~0#1); {2557#(<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:22,781 INFO L290 TraceCheckUtils]: 18: Hoare triple {2557#(<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:22,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:22,782 INFO L290 TraceCheckUtils]: 20: Hoare triple {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:22,782 INFO L290 TraceCheckUtils]: 21: Hoare triple {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:22,783 INFO L290 TraceCheckUtils]: 22: Hoare triple {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:22,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:22,784 INFO L290 TraceCheckUtils]: 24: Hoare triple {2570#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 2 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,784 INFO L290 TraceCheckUtils]: 25: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,792 INFO L290 TraceCheckUtils]: 27: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,792 INFO L290 TraceCheckUtils]: 28: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,793 INFO L290 TraceCheckUtils]: 29: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,794 INFO L290 TraceCheckUtils]: 30: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:22,795 INFO L290 TraceCheckUtils]: 31: Hoare triple {2507#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2508#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:22,795 INFO L290 TraceCheckUtils]: 32: Hoare triple {2508#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2500#false} is VALID [2022-02-20 23:39:22,796 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:22,796 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:23,046 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:23,046 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 19 treesize of output 23 [2022-02-20 23:39:23,622 INFO L290 TraceCheckUtils]: 32: Hoare triple {2613#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2500#false} is VALID [2022-02-20 23:39:23,623 INFO L290 TraceCheckUtils]: 31: Hoare triple {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2613#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:23,624 INFO L290 TraceCheckUtils]: 30: Hoare triple {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:23,624 INFO L290 TraceCheckUtils]: 29: Hoare triple {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:23,624 INFO L290 TraceCheckUtils]: 28: Hoare triple {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:23,625 INFO L290 TraceCheckUtils]: 27: Hoare triple {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:23,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:23,626 INFO L290 TraceCheckUtils]: 25: Hoare triple {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:23,626 INFO L290 TraceCheckUtils]: 24: Hoare triple {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2617#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:23,627 INFO L290 TraceCheckUtils]: 23: Hoare triple {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:23,627 INFO L290 TraceCheckUtils]: 22: Hoare triple {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:23,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:23,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:23,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:23,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {2658#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2639#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:23,630 INFO L290 TraceCheckUtils]: 17: Hoare triple {2658#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !(main_~k~0#1 < main_~length~0#1); {2658#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:23,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {2658#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2658#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:23,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {2658#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {2658#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:23,631 INFO L290 TraceCheckUtils]: 14: Hoare triple {2671#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2658#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:23,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {2671#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2671#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))))} is VALID [2022-02-20 23:39:23,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {2678#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2671#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))))} is VALID [2022-02-20 23:39:23,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {2678#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} havoc main_#t~nondet5#1; {2678#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} is VALID [2022-02-20 23:39:23,633 INFO L290 TraceCheckUtils]: 10: Hoare triple {2678#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2678#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} is VALID [2022-02-20 23:39:23,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {2678#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2678#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} is VALID [2022-02-20 23:39:23,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {2691#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2678#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))))} is VALID [2022-02-20 23:39:23,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {2691#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} havoc main_#t~nondet5#1; {2691#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:39:23,636 INFO L290 TraceCheckUtils]: 6: Hoare triple {2691#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2691#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:39:23,636 INFO L290 TraceCheckUtils]: 5: Hoare triple {2691#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2691#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:39:23,637 INFO L290 TraceCheckUtils]: 4: Hoare triple {2499#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {2691#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 8)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:39:23,637 INFO L290 TraceCheckUtils]: 3: Hoare triple {2499#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2499#true} is VALID [2022-02-20 23:39:23,637 INFO L290 TraceCheckUtils]: 2: Hoare triple {2499#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2499#true} is VALID [2022-02-20 23:39:23,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {2499#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2499#true} is VALID [2022-02-20 23:39:23,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {2499#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2499#true} is VALID [2022-02-20 23:39:23,637 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:23,638 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1771298631] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:23,638 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:23,638 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 21 [2022-02-20 23:39:23,638 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1561987601] [2022-02-20 23:39:23,638 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:23,639 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 4.238095238095238) internal successors, (89), 22 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 33 [2022-02-20 23:39:23,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:23,639 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 22 states, 21 states have (on average 4.238095238095238) internal successors, (89), 22 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:39:23,738 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:39:23,739 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-02-20 23:39:23,739 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:23,739 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-02-20 23:39:23,739 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:39:23,739 INFO L87 Difference]: Start difference. First operand 34 states and 35 transitions. Second operand has 22 states, 21 states have (on average 4.238095238095238) internal successors, (89), 22 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:39:24,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:24,571 INFO L93 Difference]: Finished difference Result 47 states and 48 transitions. [2022-02-20 23:39:24,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:39:24,571 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 21 states have (on average 4.238095238095238) internal successors, (89), 22 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 33 [2022-02-20 23:39:24,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:24,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 4.238095238095238) internal successors, (89), 22 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:39:24,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-02-20 23:39:24,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 4.238095238095238) internal successors, (89), 22 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:39:24,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-02-20 23:39:24,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 49 transitions. [2022-02-20 23:39:24,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:24,637 INFO L225 Difference]: With dead ends: 47 [2022-02-20 23:39:24,637 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 23:39:24,637 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 147 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=170, Invalid=760, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:39:24,638 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 124 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 280 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 124 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 302 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 280 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:24,638 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [124 Valid, 71 Invalid, 302 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 280 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:39:24,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 23:39:24,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 41. [2022-02-20 23:39:24,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:24,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 41 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have 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:39:24,640 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 41 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have 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:39:24,640 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 41 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have 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:39:24,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:24,641 INFO L93 Difference]: Finished difference Result 47 states and 48 transitions. [2022-02-20 23:39:24,641 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 48 transitions. [2022-02-20 23:39:24,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:24,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:24,641 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 0 states have call successors, (0), 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 47 states. [2022-02-20 23:39:24,645 INFO L87 Difference]: Start difference. First operand has 41 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 0 states have call successors, (0), 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 47 states. [2022-02-20 23:39:24,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:24,646 INFO L93 Difference]: Finished difference Result 47 states and 48 transitions. [2022-02-20 23:39:24,646 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 48 transitions. [2022-02-20 23:39:24,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:24,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:24,646 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:24,646 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:24,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 40 states have (on average 1.05) internal successors, (42), 40 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have 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:39:24,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 42 transitions. [2022-02-20 23:39:24,647 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 42 transitions. Word has length 33 [2022-02-20 23:39:24,647 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:24,648 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 42 transitions. [2022-02-20 23:39:24,648 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 21 states have (on average 4.238095238095238) internal successors, (89), 22 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:39:24,648 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2022-02-20 23:39:24,649 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 23:39:24,650 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:24,650 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:24,673 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:39:24,867 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:24,867 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:24,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:24,868 INFO L85 PathProgramCache]: Analyzing trace with hash -128978377, now seen corresponding path program 5 times [2022-02-20 23:39:24,868 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:24,868 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1147587621] [2022-02-20 23:39:24,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:24,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:24,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:25,184 INFO L290 TraceCheckUtils]: 0: Hoare triple {2915#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2915#true} is VALID [2022-02-20 23:39:25,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {2915#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2915#true} is VALID [2022-02-20 23:39:25,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {2915#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2915#true} is VALID [2022-02-20 23:39:25,184 INFO L290 TraceCheckUtils]: 3: Hoare triple {2915#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2917#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:39:25,185 INFO L290 TraceCheckUtils]: 4: Hoare triple {2917#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {2918#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:25,185 INFO L290 TraceCheckUtils]: 5: Hoare triple {2918#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2918#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:25,186 INFO L290 TraceCheckUtils]: 6: Hoare triple {2918#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2918#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:25,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {2918#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {2918#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:25,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {2918#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2919#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:25,191 INFO L290 TraceCheckUtils]: 9: Hoare triple {2919#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2919#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:25,192 INFO L290 TraceCheckUtils]: 10: Hoare triple {2919#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2919#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:25,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {2919#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {2919#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:25,194 INFO L290 TraceCheckUtils]: 12: Hoare triple {2919#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2920#(or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0)))} is VALID [2022-02-20 23:39:25,194 INFO L290 TraceCheckUtils]: 13: Hoare triple {2920#(or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2921#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} is VALID [2022-02-20 23:39:25,195 INFO L290 TraceCheckUtils]: 14: Hoare triple {2921#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2921#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} is VALID [2022-02-20 23:39:25,196 INFO L290 TraceCheckUtils]: 15: Hoare triple {2921#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} havoc main_#t~nondet5#1; {2921#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} is VALID [2022-02-20 23:39:25,196 INFO L290 TraceCheckUtils]: 16: Hoare triple {2921#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2922#(or (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)))))} is VALID [2022-02-20 23:39:25,197 INFO L290 TraceCheckUtils]: 17: Hoare triple {2922#(or (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)))))} assume !(main_~k~0#1 < main_~length~0#1); {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:25,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:25,198 INFO L290 TraceCheckUtils]: 19: Hoare triple {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:25,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:25,199 INFO L290 TraceCheckUtils]: 21: Hoare triple {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:25,199 INFO L290 TraceCheckUtils]: 22: Hoare triple {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:25,200 INFO L290 TraceCheckUtils]: 23: Hoare triple {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:25,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {2923#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:25,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:25,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:25,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:25,202 INFO L290 TraceCheckUtils]: 28: Hoare triple {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:25,203 INFO L290 TraceCheckUtils]: 29: Hoare triple {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:25,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:25,204 INFO L290 TraceCheckUtils]: 31: Hoare triple {2924#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2925#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:25,204 INFO L290 TraceCheckUtils]: 32: Hoare triple {2925#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2926#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:25,205 INFO L290 TraceCheckUtils]: 33: Hoare triple {2926#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2927#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:25,205 INFO L290 TraceCheckUtils]: 34: Hoare triple {2927#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2916#false} is VALID [2022-02-20 23:39:25,205 INFO L290 TraceCheckUtils]: 35: Hoare triple {2916#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2916#false} is VALID [2022-02-20 23:39:25,205 INFO L290 TraceCheckUtils]: 36: Hoare triple {2916#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2916#false} is VALID [2022-02-20 23:39:25,206 INFO L290 TraceCheckUtils]: 37: Hoare triple {2916#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2916#false} is VALID [2022-02-20 23:39:25,206 INFO L290 TraceCheckUtils]: 38: Hoare triple {2916#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2916#false} is VALID [2022-02-20 23:39:25,206 INFO L290 TraceCheckUtils]: 39: Hoare triple {2916#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2916#false} is VALID [2022-02-20 23:39:25,206 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:25,206 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:25,206 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1147587621] [2022-02-20 23:39:25,206 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1147587621] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:25,206 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [551769750] [2022-02-20 23:39:25,206 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 23:39:25,207 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:25,207 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:25,208 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:39:25,208 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:39:25,283 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2022-02-20 23:39:25,283 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:39:25,284 INFO L263 TraceCheckSpWp]: Trace formula consists of 192 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 23:39:25,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:25,295 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:25,717 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 6 treesize of output 5 [2022-02-20 23:39:25,873 INFO L356 Elim1Store]: treesize reduction 12, result has 20.0 percent of original size [2022-02-20 23:39:25,874 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 22 treesize of output 10 [2022-02-20 23:39:25,907 INFO L290 TraceCheckUtils]: 0: Hoare triple {2915#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2915#true} is VALID [2022-02-20 23:39:25,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {2915#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2915#true} is VALID [2022-02-20 23:39:25,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {2915#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2915#true} is VALID [2022-02-20 23:39:25,907 INFO L290 TraceCheckUtils]: 3: Hoare triple {2915#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2915#true} is VALID [2022-02-20 23:39:25,909 INFO L290 TraceCheckUtils]: 4: Hoare triple {2915#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {2943#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:25,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {2943#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2943#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:25,910 INFO L290 TraceCheckUtils]: 6: Hoare triple {2943#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2943#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:25,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {2943#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {2943#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:25,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {2943#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2956#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:25,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {2956#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2956#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:25,912 INFO L290 TraceCheckUtils]: 10: Hoare triple {2956#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2956#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:25,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {2956#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} havoc main_#t~nondet5#1; {2956#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:25,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {2956#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2969#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:25,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {2969#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 2 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {2973#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:25,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {2973#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 2 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {2973#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:25,914 INFO L290 TraceCheckUtils]: 15: Hoare triple {2973#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 2 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {2973#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:25,914 INFO L290 TraceCheckUtils]: 16: Hoare triple {2973#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 2 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {2983#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 3) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,915 INFO L290 TraceCheckUtils]: 17: Hoare triple {2983#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~k~0#1| 3) (< 2 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~k~0#1 < main_~length~0#1); {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,915 INFO L290 TraceCheckUtils]: 18: Hoare triple {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,916 INFO L290 TraceCheckUtils]: 19: Hoare triple {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,916 INFO L290 TraceCheckUtils]: 20: Hoare triple {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,917 INFO L290 TraceCheckUtils]: 21: Hoare triple {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,917 INFO L290 TraceCheckUtils]: 22: Hoare triple {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,918 INFO L290 TraceCheckUtils]: 23: Hoare triple {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,919 INFO L290 TraceCheckUtils]: 24: Hoare triple {2987#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} is VALID [2022-02-20 23:39:25,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} is VALID [2022-02-20 23:39:25,925 INFO L290 TraceCheckUtils]: 26: Hoare triple {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} is VALID [2022-02-20 23:39:25,926 INFO L290 TraceCheckUtils]: 27: Hoare triple {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} is VALID [2022-02-20 23:39:25,926 INFO L290 TraceCheckUtils]: 28: Hoare triple {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} is VALID [2022-02-20 23:39:25,927 INFO L290 TraceCheckUtils]: 29: Hoare triple {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} is VALID [2022-02-20 23:39:25,927 INFO L290 TraceCheckUtils]: 30: Hoare triple {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} is VALID [2022-02-20 23:39:25,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {3009#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3031#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:39:25,929 INFO L290 TraceCheckUtils]: 32: Hoare triple {3031#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 2 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3035#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem6#1|) (< 2 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:25,929 INFO L290 TraceCheckUtils]: 33: Hoare triple {3035#(and (<= |ULTIMATE.start_main_~length~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| 8)) |ULTIMATE.start_main_#t~mem6#1|) (< 2 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3039#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:25,929 INFO L290 TraceCheckUtils]: 34: Hoare triple {3039#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2916#false} is VALID [2022-02-20 23:39:25,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {2916#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2916#false} is VALID [2022-02-20 23:39:25,930 INFO L290 TraceCheckUtils]: 36: Hoare triple {2916#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2916#false} is VALID [2022-02-20 23:39:25,930 INFO L290 TraceCheckUtils]: 37: Hoare triple {2916#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2916#false} is VALID [2022-02-20 23:39:25,930 INFO L290 TraceCheckUtils]: 38: Hoare triple {2916#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2916#false} is VALID [2022-02-20 23:39:25,930 INFO L290 TraceCheckUtils]: 39: Hoare triple {2916#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2916#false} is VALID [2022-02-20 23:39:25,930 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:25,930 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:26,006 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 40 treesize of output 31 [2022-02-20 23:39:26,012 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:26,012 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 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 31 [2022-02-20 23:39:26,518 INFO L290 TraceCheckUtils]: 39: Hoare triple {2916#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {2916#false} is VALID [2022-02-20 23:39:26,518 INFO L290 TraceCheckUtils]: 38: Hoare triple {2916#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {2916#false} is VALID [2022-02-20 23:39:26,518 INFO L290 TraceCheckUtils]: 37: Hoare triple {2916#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {2916#false} is VALID [2022-02-20 23:39:26,519 INFO L290 TraceCheckUtils]: 36: Hoare triple {2916#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {2916#false} is VALID [2022-02-20 23:39:26,519 INFO L290 TraceCheckUtils]: 35: Hoare triple {2916#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {2916#false} is VALID [2022-02-20 23:39:26,519 INFO L290 TraceCheckUtils]: 34: Hoare triple {3039#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {2916#false} is VALID [2022-02-20 23:39:26,519 INFO L290 TraceCheckUtils]: 33: Hoare triple {3076#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3039#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:26,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {3080#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3076#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:26,520 INFO L290 TraceCheckUtils]: 31: Hoare triple {3084#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3080#(= (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) |ULTIMATE.start_main_~a~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:26,521 INFO L290 TraceCheckUtils]: 30: Hoare triple {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3084#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (select (select |#memory_int| |ULTIMATE.start_main_~a~0#1.base|) (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:26,522 INFO L290 TraceCheckUtils]: 29: Hoare triple {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:26,522 INFO L290 TraceCheckUtils]: 28: Hoare triple {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:26,522 INFO L290 TraceCheckUtils]: 27: Hoare triple {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:26,523 INFO L290 TraceCheckUtils]: 26: Hoare triple {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:26,523 INFO L290 TraceCheckUtils]: 25: Hoare triple {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:26,524 INFO L290 TraceCheckUtils]: 24: Hoare triple {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3088#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:26,524 INFO L290 TraceCheckUtils]: 23: Hoare triple {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:26,525 INFO L290 TraceCheckUtils]: 22: Hoare triple {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:26,525 INFO L290 TraceCheckUtils]: 21: Hoare triple {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:26,526 INFO L290 TraceCheckUtils]: 20: Hoare triple {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:26,526 INFO L290 TraceCheckUtils]: 19: Hoare triple {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:26,527 INFO L290 TraceCheckUtils]: 18: Hoare triple {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:26,527 INFO L290 TraceCheckUtils]: 17: Hoare triple {3129#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12))) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|))} assume !(main_~k~0#1 < main_~length~0#1); {3107#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:26,528 INFO L290 TraceCheckUtils]: 16: Hoare triple {3133#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3129#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12))) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:26,528 INFO L290 TraceCheckUtils]: 15: Hoare triple {3133#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {3133#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:26,529 INFO L290 TraceCheckUtils]: 14: Hoare triple {3133#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3133#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:26,530 INFO L290 TraceCheckUtils]: 13: Hoare triple {3143#(and (<= (+ |ULTIMATE.start_main_~k~0#1| 1) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3133#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:26,530 INFO L290 TraceCheckUtils]: 12: Hoare triple {3147#(and (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3143#(and (<= (+ |ULTIMATE.start_main_~k~0#1| 1) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:26,531 INFO L290 TraceCheckUtils]: 11: Hoare triple {3147#(and (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)))} havoc main_#t~nondet5#1; {3147#(and (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)))} is VALID [2022-02-20 23:39:26,531 INFO L290 TraceCheckUtils]: 10: Hoare triple {3147#(and (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3147#(and (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)))} is VALID [2022-02-20 23:39:26,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {3147#(and (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3147#(and (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)))} is VALID [2022-02-20 23:39:26,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {3160#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3147#(and (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)))} is VALID [2022-02-20 23:39:26,533 INFO L290 TraceCheckUtils]: 7: Hoare triple {3160#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} havoc main_#t~nondet5#1; {3160#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:26,533 INFO L290 TraceCheckUtils]: 6: Hoare triple {3160#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3160#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:26,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {3160#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3160#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:26,534 INFO L290 TraceCheckUtils]: 4: Hoare triple {2915#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {3160#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 12 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 11 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:26,535 INFO L290 TraceCheckUtils]: 3: Hoare triple {2915#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {2915#true} is VALID [2022-02-20 23:39:26,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {2915#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {2915#true} is VALID [2022-02-20 23:39:26,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {2915#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {2915#true} is VALID [2022-02-20 23:39:26,535 INFO L290 TraceCheckUtils]: 0: Hoare triple {2915#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2915#true} is VALID [2022-02-20 23:39:26,535 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:26,535 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [551769750] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:26,535 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:26,535 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 13] total 33 [2022-02-20 23:39:26,536 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [535403316] [2022-02-20 23:39:26,536 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:26,536 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 3.090909090909091) internal successors, (102), 33 states have internal predecessors, (102), 0 states have call successors, (0), 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 40 [2022-02-20 23:39:26,536 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:26,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 3.090909090909091) internal successors, (102), 33 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have 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:39:26,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:26,626 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-02-20 23:39:26,626 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:26,626 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-02-20 23:39:26,626 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=943, Unknown=0, NotChecked=0, Total=1056 [2022-02-20 23:39:26,627 INFO L87 Difference]: Start difference. First operand 41 states and 42 transitions. Second operand has 33 states, 33 states have (on average 3.090909090909091) internal successors, (102), 33 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have 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:39:27,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:27,931 INFO L93 Difference]: Finished difference Result 65 states and 66 transitions. [2022-02-20 23:39:27,932 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-02-20 23:39:27,932 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 3.090909090909091) internal successors, (102), 33 states have internal predecessors, (102), 0 states have call successors, (0), 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 40 [2022-02-20 23:39:27,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:27,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 3.090909090909091) internal successors, (102), 33 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have 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:39:27,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 59 transitions. [2022-02-20 23:39:27,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 3.090909090909091) internal successors, (102), 33 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have 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:39:27,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 59 transitions. [2022-02-20 23:39:27,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 59 transitions. [2022-02-20 23:39:27,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:27,981 INFO L225 Difference]: With dead ends: 65 [2022-02-20 23:39:27,981 INFO L226 Difference]: Without dead ends: 48 [2022-02-20 23:39:27,981 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 60 SyntacticMatches, 1 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 487 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=222, Invalid=1758, Unknown=0, NotChecked=0, Total=1980 [2022-02-20 23:39:27,982 INFO L933 BasicCegarLoop]: 10 mSDtfsCounter, 128 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 573 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 128 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 594 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 573 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:27,982 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [128 Valid, 131 Invalid, 594 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 573 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:39:27,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-02-20 23:39:27,984 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 45. [2022-02-20 23:39:27,984 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:27,984 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 45 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:27,984 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 45 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:27,984 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 45 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:27,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:27,985 INFO L93 Difference]: Finished difference Result 48 states and 49 transitions. [2022-02-20 23:39:27,985 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 49 transitions. [2022-02-20 23:39:27,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:27,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:27,985 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 48 states. [2022-02-20 23:39:27,985 INFO L87 Difference]: Start difference. First operand has 45 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 48 states. [2022-02-20 23:39:27,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:27,988 INFO L93 Difference]: Finished difference Result 48 states and 49 transitions. [2022-02-20 23:39:27,988 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 49 transitions. [2022-02-20 23:39:27,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:27,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:27,989 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:27,989 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:27,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 44 states have (on average 1.0454545454545454) internal successors, (46), 44 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:39:27,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 46 transitions. [2022-02-20 23:39:27,990 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 46 transitions. Word has length 40 [2022-02-20 23:39:27,990 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:27,990 INFO L470 AbstractCegarLoop]: Abstraction has 45 states and 46 transitions. [2022-02-20 23:39:27,990 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 3.090909090909091) internal successors, (102), 33 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have 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:39:27,990 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2022-02-20 23:39:27,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-02-20 23:39:27,991 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:27,991 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:28,016 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:39:28,207 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:28,207 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:28,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:28,208 INFO L85 PathProgramCache]: Analyzing trace with hash 749979156, now seen corresponding path program 6 times [2022-02-20 23:39:28,208 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:28,208 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1458336838] [2022-02-20 23:39:28,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:28,208 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:28,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:28,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {3414#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3414#true} is VALID [2022-02-20 23:39:28,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {3414#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {3414#true} is VALID [2022-02-20 23:39:28,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {3414#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {3414#true} is VALID [2022-02-20 23:39:28,448 INFO L290 TraceCheckUtils]: 3: Hoare triple {3414#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {3416#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:28,449 INFO L290 TraceCheckUtils]: 4: Hoare triple {3416#(and (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~arr~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {3417#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:28,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {3417#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3417#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:28,451 INFO L290 TraceCheckUtils]: 6: Hoare triple {3417#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3417#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:28,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {3417#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {3417#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:28,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {3417#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3418#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:28,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {3418#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3418#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:28,453 INFO L290 TraceCheckUtils]: 10: Hoare triple {3418#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3418#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:28,454 INFO L290 TraceCheckUtils]: 11: Hoare triple {3418#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {3418#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:28,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {3418#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3419#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:28,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {3419#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3419#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:28,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {3419#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3419#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:28,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {3419#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} havoc main_#t~nondet5#1; {3419#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} is VALID [2022-02-20 23:39:28,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {3419#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3420#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:28,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {3420#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,460 INFO L290 TraceCheckUtils]: 21: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} assume !(main_~k~0#1 < main_~length~0#1); {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,461 INFO L290 TraceCheckUtils]: 22: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,461 INFO L290 TraceCheckUtils]: 23: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,462 INFO L290 TraceCheckUtils]: 24: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,462 INFO L290 TraceCheckUtils]: 25: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,463 INFO L290 TraceCheckUtils]: 26: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,463 INFO L290 TraceCheckUtils]: 27: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:28,464 INFO L290 TraceCheckUtils]: 28: Hoare triple {3421#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,465 INFO L290 TraceCheckUtils]: 29: Hoare triple {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,465 INFO L290 TraceCheckUtils]: 30: Hoare triple {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,466 INFO L290 TraceCheckUtils]: 31: Hoare triple {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,466 INFO L290 TraceCheckUtils]: 32: Hoare triple {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,467 INFO L290 TraceCheckUtils]: 33: Hoare triple {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,468 INFO L290 TraceCheckUtils]: 34: Hoare triple {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,469 INFO L290 TraceCheckUtils]: 35: Hoare triple {3422#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,469 INFO L290 TraceCheckUtils]: 36: Hoare triple {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,470 INFO L290 TraceCheckUtils]: 37: Hoare triple {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,470 INFO L290 TraceCheckUtils]: 38: Hoare triple {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,471 INFO L290 TraceCheckUtils]: 39: Hoare triple {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,472 INFO L290 TraceCheckUtils]: 40: Hoare triple {3423#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (* |ULTIMATE.start_main_~length~0#1| 4)) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* |ULTIMATE.start_main_~length~0#1| 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3424#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,472 INFO L290 TraceCheckUtils]: 41: Hoare triple {3424#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3424#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,473 INFO L290 TraceCheckUtils]: 42: Hoare triple {3424#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3425#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:28,473 INFO L290 TraceCheckUtils]: 43: Hoare triple {3425#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {3415#false} is VALID [2022-02-20 23:39:28,474 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 6 proven. 46 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:28,474 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:28,474 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1458336838] [2022-02-20 23:39:28,474 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1458336838] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:28,474 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [854279701] [2022-02-20 23:39:28,474 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 23:39:28,474 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:28,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:28,480 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:39:28,481 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:39:28,593 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-02-20 23:39:28,594 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:39:28,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 206 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 23:39:28,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:28,610 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:29,395 INFO L290 TraceCheckUtils]: 0: Hoare triple {3414#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3414#true} is VALID [2022-02-20 23:39:29,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {3414#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {3414#true} is VALID [2022-02-20 23:39:29,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {3414#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {3414#true} is VALID [2022-02-20 23:39:29,395 INFO L290 TraceCheckUtils]: 3: Hoare triple {3414#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {3414#true} is VALID [2022-02-20 23:39:29,396 INFO L290 TraceCheckUtils]: 4: Hoare triple {3414#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {3441#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:29,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {3441#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3441#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:29,396 INFO L290 TraceCheckUtils]: 6: Hoare triple {3441#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3441#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:29,397 INFO L290 TraceCheckUtils]: 7: Hoare triple {3441#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {3441#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:29,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {3441#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3454#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:29,398 INFO L290 TraceCheckUtils]: 9: Hoare triple {3454#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3454#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:29,398 INFO L290 TraceCheckUtils]: 10: Hoare triple {3454#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3454#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:29,399 INFO L290 TraceCheckUtils]: 11: Hoare triple {3454#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {3454#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:29,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {3454#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3467#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:29,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {3467#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3467#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:29,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {3467#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3467#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:29,400 INFO L290 TraceCheckUtils]: 15: Hoare triple {3467#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {3467#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:29,401 INFO L290 TraceCheckUtils]: 16: Hoare triple {3467#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3480#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:29,401 INFO L290 TraceCheckUtils]: 17: Hoare triple {3480#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3480#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:29,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {3480#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} havoc main_#t~nondet5#1; {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,403 INFO L290 TraceCheckUtils]: 21: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} assume !(main_~k~0#1 < main_~length~0#1); {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,404 INFO L290 TraceCheckUtils]: 23: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:29,406 INFO L290 TraceCheckUtils]: 28: Hoare triple {3487#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} is VALID [2022-02-20 23:39:29,406 INFO L290 TraceCheckUtils]: 29: Hoare triple {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} is VALID [2022-02-20 23:39:29,407 INFO L290 TraceCheckUtils]: 30: Hoare triple {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} is VALID [2022-02-20 23:39:29,407 INFO L290 TraceCheckUtils]: 31: Hoare triple {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} is VALID [2022-02-20 23:39:29,407 INFO L290 TraceCheckUtils]: 32: Hoare triple {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} is VALID [2022-02-20 23:39:29,408 INFO L290 TraceCheckUtils]: 33: Hoare triple {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} is VALID [2022-02-20 23:39:29,408 INFO L290 TraceCheckUtils]: 34: Hoare triple {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} is VALID [2022-02-20 23:39:29,408 INFO L290 TraceCheckUtils]: 35: Hoare triple {3518#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3540#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4))} is VALID [2022-02-20 23:39:29,409 INFO L290 TraceCheckUtils]: 36: Hoare triple {3540#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3540#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4))} is VALID [2022-02-20 23:39:29,409 INFO L290 TraceCheckUtils]: 37: Hoare triple {3540#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3540#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4))} is VALID [2022-02-20 23:39:29,410 INFO L290 TraceCheckUtils]: 38: Hoare triple {3540#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3540#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4))} is VALID [2022-02-20 23:39:29,410 INFO L290 TraceCheckUtils]: 39: Hoare triple {3540#(<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3553#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)))} is VALID [2022-02-20 23:39:29,412 INFO L290 TraceCheckUtils]: 40: Hoare triple {3553#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3553#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)))} is VALID [2022-02-20 23:39:29,413 INFO L290 TraceCheckUtils]: 41: Hoare triple {3553#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3553#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)))} is VALID [2022-02-20 23:39:29,414 INFO L290 TraceCheckUtils]: 42: Hoare triple {3553#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3563#(and (<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:29,414 INFO L290 TraceCheckUtils]: 43: Hoare triple {3563#(and (<= 3 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {3415#false} is VALID [2022-02-20 23:39:29,414 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 18 proven. 34 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:29,414 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:29,763 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:29,763 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 19 treesize of output 23 [2022-02-20 23:39:30,351 INFO L290 TraceCheckUtils]: 43: Hoare triple {3567#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {3415#false} is VALID [2022-02-20 23:39:30,355 INFO L290 TraceCheckUtils]: 42: Hoare triple {3571#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3567#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:30,355 INFO L290 TraceCheckUtils]: 41: Hoare triple {3571#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3571#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:30,356 INFO L290 TraceCheckUtils]: 40: Hoare triple {3571#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3571#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:30,356 INFO L290 TraceCheckUtils]: 39: Hoare triple {3581#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3571#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:30,357 INFO L290 TraceCheckUtils]: 38: Hoare triple {3581#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3581#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:30,357 INFO L290 TraceCheckUtils]: 37: Hoare triple {3581#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3581#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:30,358 INFO L290 TraceCheckUtils]: 36: Hoare triple {3581#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3581#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:30,358 INFO L290 TraceCheckUtils]: 35: Hoare triple {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3581#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:30,359 INFO L290 TraceCheckUtils]: 34: Hoare triple {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} is VALID [2022-02-20 23:39:30,359 INFO L290 TraceCheckUtils]: 33: Hoare triple {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} is VALID [2022-02-20 23:39:30,360 INFO L290 TraceCheckUtils]: 32: Hoare triple {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} is VALID [2022-02-20 23:39:30,360 INFO L290 TraceCheckUtils]: 31: Hoare triple {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} is VALID [2022-02-20 23:39:30,360 INFO L290 TraceCheckUtils]: 30: Hoare triple {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} is VALID [2022-02-20 23:39:30,361 INFO L290 TraceCheckUtils]: 29: Hoare triple {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} is VALID [2022-02-20 23:39:30,363 INFO L290 TraceCheckUtils]: 28: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3594#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 4) 0))} is VALID [2022-02-20 23:39:30,364 INFO L290 TraceCheckUtils]: 27: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,365 INFO L290 TraceCheckUtils]: 26: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,365 INFO L290 TraceCheckUtils]: 25: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,366 INFO L290 TraceCheckUtils]: 24: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,366 INFO L290 TraceCheckUtils]: 23: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,367 INFO L290 TraceCheckUtils]: 22: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,367 INFO L290 TraceCheckUtils]: 21: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} assume !(main_~k~0#1 < main_~length~0#1); {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,368 INFO L290 TraceCheckUtils]: 19: Hoare triple {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} havoc main_#t~nondet5#1; {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {3647#(or (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3616#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,370 INFO L290 TraceCheckUtils]: 17: Hoare triple {3647#(or (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3647#(or (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,371 INFO L290 TraceCheckUtils]: 16: Hoare triple {3654#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3647#(or (and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,372 INFO L290 TraceCheckUtils]: 15: Hoare triple {3654#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} havoc main_#t~nondet5#1; {3654#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {3654#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3654#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,373 INFO L290 TraceCheckUtils]: 13: Hoare triple {3654#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3654#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,374 INFO L290 TraceCheckUtils]: 12: Hoare triple {3667#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3654#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {3667#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} havoc main_#t~nondet5#1; {3667#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,376 INFO L290 TraceCheckUtils]: 10: Hoare triple {3667#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3667#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,377 INFO L290 TraceCheckUtils]: 9: Hoare triple {3667#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3667#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {3680#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3667#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {3680#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} havoc main_#t~nondet5#1; {3680#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,379 INFO L290 TraceCheckUtils]: 6: Hoare triple {3680#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3680#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {3680#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3680#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,381 INFO L290 TraceCheckUtils]: 4: Hoare triple {3414#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {3680#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 12)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~a~0#1.offset| 8) 0))} is VALID [2022-02-20 23:39:30,381 INFO L290 TraceCheckUtils]: 3: Hoare triple {3414#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {3414#true} is VALID [2022-02-20 23:39:30,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {3414#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {3414#true} is VALID [2022-02-20 23:39:30,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {3414#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {3414#true} is VALID [2022-02-20 23:39:30,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {3414#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3414#true} is VALID [2022-02-20 23:39:30,382 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 18 proven. 34 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:30,382 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [854279701] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:30,382 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:30,382 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 10] total 29 [2022-02-20 23:39:30,383 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [714165043] [2022-02-20 23:39:30,383 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:30,383 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 29 states have (on average 4.310344827586207) internal successors, (125), 30 states have internal predecessors, (125), 0 states have call successors, (0), 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 44 [2022-02-20 23:39:30,384 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:30,384 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 30 states, 29 states have (on average 4.310344827586207) internal successors, (125), 30 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have 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:39:30,483 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:39:30,483 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-02-20 23:39:30,484 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:30,484 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-02-20 23:39:30,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=133, Invalid=737, Unknown=0, NotChecked=0, Total=870 [2022-02-20 23:39:30,485 INFO L87 Difference]: Start difference. First operand 45 states and 46 transitions. Second operand has 30 states, 29 states have (on average 4.310344827586207) internal successors, (125), 30 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have 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:39:31,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:31,731 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2022-02-20 23:39:31,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 23:39:31,731 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 29 states have (on average 4.310344827586207) internal successors, (125), 30 states have internal predecessors, (125), 0 states have call successors, (0), 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 44 [2022-02-20 23:39:31,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:31,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 4.310344827586207) internal successors, (125), 30 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have 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:39:31,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 60 transitions. [2022-02-20 23:39:31,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 4.310344827586207) internal successors, (125), 30 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have 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:39:31,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 60 transitions. [2022-02-20 23:39:31,733 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 60 transitions. [2022-02-20 23:39:31,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:31,788 INFO L225 Difference]: With dead ends: 58 [2022-02-20 23:39:31,788 INFO L226 Difference]: Without dead ends: 58 [2022-02-20 23:39:31,788 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 311 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=312, Invalid=1410, Unknown=0, NotChecked=0, Total=1722 [2022-02-20 23:39:31,789 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 175 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 430 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 175 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 456 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 430 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:31,789 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [175 Valid, 104 Invalid, 456 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 430 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:39:31,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-02-20 23:39:31,790 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 52. [2022-02-20 23:39:31,790 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:31,790 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 52 states, 51 states have (on average 1.0392156862745099) internal successors, (53), 51 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have 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:39:31,791 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 52 states, 51 states have (on average 1.0392156862745099) internal successors, (53), 51 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have 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:39:31,791 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 52 states, 51 states have (on average 1.0392156862745099) internal successors, (53), 51 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have 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:39:31,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:31,792 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2022-02-20 23:39:31,792 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2022-02-20 23:39:31,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:31,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:31,792 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 51 states have (on average 1.0392156862745099) internal successors, (53), 51 states have internal predecessors, (53), 0 states have call successors, (0), 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 58 states. [2022-02-20 23:39:31,792 INFO L87 Difference]: Start difference. First operand has 52 states, 51 states have (on average 1.0392156862745099) internal successors, (53), 51 states have internal predecessors, (53), 0 states have call successors, (0), 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 58 states. [2022-02-20 23:39:31,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:31,793 INFO L93 Difference]: Finished difference Result 58 states and 59 transitions. [2022-02-20 23:39:31,795 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 59 transitions. [2022-02-20 23:39:31,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:31,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:31,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:31,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:31,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 51 states have (on average 1.0392156862745099) internal successors, (53), 51 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have 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:39:31,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 53 transitions. [2022-02-20 23:39:31,797 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 53 transitions. Word has length 44 [2022-02-20 23:39:31,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:31,797 INFO L470 AbstractCegarLoop]: Abstraction has 52 states and 53 transitions. [2022-02-20 23:39:31,797 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 29 states have (on average 4.310344827586207) internal successors, (125), 30 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have 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:39:31,798 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2022-02-20 23:39:31,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:39:31,798 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:31,798 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:31,817 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:39:32,007 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-02-20 23:39:32,008 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:32,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:32,008 INFO L85 PathProgramCache]: Analyzing trace with hash 1410124454, now seen corresponding path program 7 times [2022-02-20 23:39:32,008 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:32,008 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1619168223] [2022-02-20 23:39:32,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:32,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:32,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:32,421 INFO L290 TraceCheckUtils]: 0: Hoare triple {3954#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3954#true} is VALID [2022-02-20 23:39:32,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {3954#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {3954#true} is VALID [2022-02-20 23:39:32,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {3954#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {3954#true} is VALID [2022-02-20 23:39:32,422 INFO L290 TraceCheckUtils]: 3: Hoare triple {3954#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {3956#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:39:32,422 INFO L290 TraceCheckUtils]: 4: Hoare triple {3956#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {3957#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:32,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {3957#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3957#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:32,425 INFO L290 TraceCheckUtils]: 6: Hoare triple {3957#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3957#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:32,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {3957#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {3957#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:32,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {3957#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3958#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:32,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {3958#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3958#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:32,429 INFO L290 TraceCheckUtils]: 10: Hoare triple {3958#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3958#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:32,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {3958#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {3958#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:32,430 INFO L290 TraceCheckUtils]: 12: Hoare triple {3958#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3959#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {3959#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3959#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {3959#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3959#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {3959#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {3959#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,433 INFO L290 TraceCheckUtils]: 16: Hoare triple {3959#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3960#(or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0)))} is VALID [2022-02-20 23:39:32,434 INFO L290 TraceCheckUtils]: 17: Hoare triple {3960#(or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3961#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} is VALID [2022-02-20 23:39:32,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {3961#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3961#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} is VALID [2022-02-20 23:39:32,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {3961#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} havoc main_#t~nondet5#1; {3961#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} is VALID [2022-02-20 23:39:32,436 INFO L290 TraceCheckUtils]: 20: Hoare triple {3961#(and (or (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|)) (not (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0))) (or (= (+ (- 1) |ULTIMATE.start_main_~length~0#1| (* (- 1) |ULTIMATE.start_main_~k~0#1|)) 0) (not (<= |ULTIMATE.start_main_~length~0#1| (+ |ULTIMATE.start_main_~k~0#1| 1)))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3962#(or (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12))))} is VALID [2022-02-20 23:39:32,437 INFO L290 TraceCheckUtils]: 21: Hoare triple {3962#(or (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|) (and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12))))} assume !(main_~k~0#1 < main_~length~0#1); {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:32,437 INFO L290 TraceCheckUtils]: 22: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:32,438 INFO L290 TraceCheckUtils]: 23: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:32,439 INFO L290 TraceCheckUtils]: 24: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:32,439 INFO L290 TraceCheckUtils]: 25: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:32,440 INFO L290 TraceCheckUtils]: 26: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:32,440 INFO L290 TraceCheckUtils]: 27: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:32,441 INFO L290 TraceCheckUtils]: 28: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,441 INFO L290 TraceCheckUtils]: 29: Hoare triple {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,442 INFO L290 TraceCheckUtils]: 30: Hoare triple {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,443 INFO L290 TraceCheckUtils]: 31: Hoare triple {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,443 INFO L290 TraceCheckUtils]: 32: Hoare triple {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,444 INFO L290 TraceCheckUtils]: 33: Hoare triple {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,444 INFO L290 TraceCheckUtils]: 34: Hoare triple {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,445 INFO L290 TraceCheckUtils]: 35: Hoare triple {3964#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,446 INFO L290 TraceCheckUtils]: 36: Hoare triple {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,448 INFO L290 TraceCheckUtils]: 37: Hoare triple {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,448 INFO L290 TraceCheckUtils]: 38: Hoare triple {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,449 INFO L290 TraceCheckUtils]: 39: Hoare triple {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,449 INFO L290 TraceCheckUtils]: 40: Hoare triple {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,450 INFO L290 TraceCheckUtils]: 41: Hoare triple {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:32,451 INFO L290 TraceCheckUtils]: 42: Hoare triple {3965#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3966#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:32,451 INFO L290 TraceCheckUtils]: 43: Hoare triple {3966#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3967#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:32,452 INFO L290 TraceCheckUtils]: 44: Hoare triple {3967#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3968#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:32,452 INFO L290 TraceCheckUtils]: 45: Hoare triple {3968#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3955#false} is VALID [2022-02-20 23:39:32,452 INFO L290 TraceCheckUtils]: 46: Hoare triple {3955#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3955#false} is VALID [2022-02-20 23:39:32,452 INFO L290 TraceCheckUtils]: 47: Hoare triple {3955#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3955#false} is VALID [2022-02-20 23:39:32,453 INFO L290 TraceCheckUtils]: 48: Hoare triple {3955#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3955#false} is VALID [2022-02-20 23:39:32,453 INFO L290 TraceCheckUtils]: 49: Hoare triple {3955#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3955#false} is VALID [2022-02-20 23:39:32,453 INFO L290 TraceCheckUtils]: 50: Hoare triple {3955#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {3955#false} is VALID [2022-02-20 23:39:32,453 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 16 proven. 58 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:32,453 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:32,453 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1619168223] [2022-02-20 23:39:32,454 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1619168223] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:32,454 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1297683683] [2022-02-20 23:39:32,454 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-02-20 23:39:32,454 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:32,454 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:32,456 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:39:32,473 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:39:32,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:32,544 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 34 conjunts are in the unsatisfiable core [2022-02-20 23:39:32,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:32,563 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:33,306 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:39:33,325 INFO L290 TraceCheckUtils]: 0: Hoare triple {3954#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3954#true} is VALID [2022-02-20 23:39:33,325 INFO L290 TraceCheckUtils]: 1: Hoare triple {3954#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {3954#true} is VALID [2022-02-20 23:39:33,325 INFO L290 TraceCheckUtils]: 2: Hoare triple {3954#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {3954#true} is VALID [2022-02-20 23:39:33,326 INFO L290 TraceCheckUtils]: 3: Hoare triple {3954#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {3981#(<= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:39:33,326 INFO L290 TraceCheckUtils]: 4: Hoare triple {3981#(<= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {3985#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {3985#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3985#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,327 INFO L290 TraceCheckUtils]: 6: Hoare triple {3985#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3985#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,327 INFO L290 TraceCheckUtils]: 7: Hoare triple {3985#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {3985#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {3985#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {3998#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {3998#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {3998#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,329 INFO L290 TraceCheckUtils]: 10: Hoare triple {3998#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {3998#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {3998#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {3998#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,330 INFO L290 TraceCheckUtils]: 12: Hoare triple {3998#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4011#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:33,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {4011#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4011#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:33,331 INFO L290 TraceCheckUtils]: 14: Hoare triple {4011#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4011#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:33,331 INFO L290 TraceCheckUtils]: 15: Hoare triple {4011#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {4011#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:33,331 INFO L290 TraceCheckUtils]: 16: Hoare triple {4011#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4024#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:33,332 INFO L290 TraceCheckUtils]: 17: Hoare triple {4024#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4028#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:33,332 INFO L290 TraceCheckUtils]: 18: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4028#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:33,333 INFO L290 TraceCheckUtils]: 19: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {4028#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:33,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4038#(and (< 3 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,334 INFO L290 TraceCheckUtils]: 21: Hoare triple {4038#(and (< 3 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !(main_~k~0#1 < main_~length~0#1); {4042#(and (< 3 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 4) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:33,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {4042#(and (< 3 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~length~0#1| 4) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:33,339 INFO L290 TraceCheckUtils]: 23: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:33,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:33,341 INFO L290 TraceCheckUtils]: 25: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:33,341 INFO L290 TraceCheckUtils]: 26: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:33,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:33,342 INFO L290 TraceCheckUtils]: 28: Hoare triple {3963#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:39:33,343 INFO L290 TraceCheckUtils]: 29: Hoare triple {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:39:33,343 INFO L290 TraceCheckUtils]: 30: Hoare triple {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:39:33,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:39:33,344 INFO L290 TraceCheckUtils]: 32: Hoare triple {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:39:33,345 INFO L290 TraceCheckUtils]: 33: Hoare triple {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:39:33,345 INFO L290 TraceCheckUtils]: 34: Hoare triple {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:39:33,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {4064#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} is VALID [2022-02-20 23:39:33,346 INFO L290 TraceCheckUtils]: 36: Hoare triple {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} is VALID [2022-02-20 23:39:33,347 INFO L290 TraceCheckUtils]: 37: Hoare triple {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} is VALID [2022-02-20 23:39:33,347 INFO L290 TraceCheckUtils]: 38: Hoare triple {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} is VALID [2022-02-20 23:39:33,348 INFO L290 TraceCheckUtils]: 39: Hoare triple {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} is VALID [2022-02-20 23:39:33,348 INFO L290 TraceCheckUtils]: 40: Hoare triple {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} is VALID [2022-02-20 23:39:33,349 INFO L290 TraceCheckUtils]: 41: Hoare triple {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} is VALID [2022-02-20 23:39:33,349 INFO L290 TraceCheckUtils]: 42: Hoare triple {4086#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.offset| 8))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4108#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~a~0#1.offset| 12) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:33,350 INFO L290 TraceCheckUtils]: 43: Hoare triple {4108#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~a~0#1.offset| 12) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4112#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) 12) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} is VALID [2022-02-20 23:39:33,350 INFO L290 TraceCheckUtils]: 44: Hoare triple {4112#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) 12) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4116#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:33,350 INFO L290 TraceCheckUtils]: 45: Hoare triple {4116#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3955#false} is VALID [2022-02-20 23:39:33,351 INFO L290 TraceCheckUtils]: 46: Hoare triple {3955#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3955#false} is VALID [2022-02-20 23:39:33,351 INFO L290 TraceCheckUtils]: 47: Hoare triple {3955#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3955#false} is VALID [2022-02-20 23:39:33,351 INFO L290 TraceCheckUtils]: 48: Hoare triple {3955#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3955#false} is VALID [2022-02-20 23:39:33,351 INFO L290 TraceCheckUtils]: 49: Hoare triple {3955#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3955#false} is VALID [2022-02-20 23:39:33,351 INFO L290 TraceCheckUtils]: 50: Hoare triple {3955#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {3955#false} is VALID [2022-02-20 23:39:33,351 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 16 proven. 58 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:33,351 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:33,393 INFO L356 Elim1Store]: treesize reduction 3, result has 81.3 percent of original size [2022-02-20 23:39:33,393 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 16 treesize of output 17 [2022-02-20 23:39:43,635 INFO L290 TraceCheckUtils]: 50: Hoare triple {3955#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {3955#false} is VALID [2022-02-20 23:39:43,635 INFO L290 TraceCheckUtils]: 49: Hoare triple {3955#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3955#false} is VALID [2022-02-20 23:39:43,635 INFO L290 TraceCheckUtils]: 48: Hoare triple {3955#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {3955#false} is VALID [2022-02-20 23:39:43,635 INFO L290 TraceCheckUtils]: 47: Hoare triple {3955#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {3955#false} is VALID [2022-02-20 23:39:43,635 INFO L290 TraceCheckUtils]: 46: Hoare triple {3955#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {3955#false} is VALID [2022-02-20 23:39:43,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {4116#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {3955#false} is VALID [2022-02-20 23:39:43,636 INFO L290 TraceCheckUtils]: 44: Hoare triple {4153#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4116#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:43,637 INFO L290 TraceCheckUtils]: 43: Hoare triple {3966#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4153#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:43,637 INFO L290 TraceCheckUtils]: 42: Hoare triple {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {3966#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,638 INFO L290 TraceCheckUtils]: 41: Hoare triple {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:43,638 INFO L290 TraceCheckUtils]: 40: Hoare triple {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:43,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:43,639 INFO L290 TraceCheckUtils]: 38: Hoare triple {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:43,640 INFO L290 TraceCheckUtils]: 37: Hoare triple {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:43,640 INFO L290 TraceCheckUtils]: 36: Hoare triple {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:43,641 INFO L290 TraceCheckUtils]: 35: Hoare triple {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4160#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:43,641 INFO L290 TraceCheckUtils]: 34: Hoare triple {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,641 INFO L290 TraceCheckUtils]: 33: Hoare triple {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,642 INFO L290 TraceCheckUtils]: 32: Hoare triple {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,642 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,643 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,643 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,644 INFO L290 TraceCheckUtils]: 28: Hoare triple {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4182#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,645 INFO L290 TraceCheckUtils]: 27: Hoare triple {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,645 INFO L290 TraceCheckUtils]: 26: Hoare triple {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,646 INFO L290 TraceCheckUtils]: 25: Hoare triple {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,647 INFO L290 TraceCheckUtils]: 23: Hoare triple {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,647 INFO L290 TraceCheckUtils]: 22: Hoare triple {4223#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4204#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:43,648 INFO L290 TraceCheckUtils]: 21: Hoare triple {4227#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !(main_~k~0#1 < main_~length~0#1); {4223#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:43,648 INFO L290 TraceCheckUtils]: 20: Hoare triple {4231#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4227#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:43,649 INFO L290 TraceCheckUtils]: 19: Hoare triple {4231#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {4231#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:43,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {4231#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4231#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:43,650 INFO L290 TraceCheckUtils]: 17: Hoare triple {4241#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (+ |ULTIMATE.start_main_~k~0#1| 1) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) |ULTIMATE.start_main_~k~0#1|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4231#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:43,651 INFO L290 TraceCheckUtils]: 16: Hoare triple {4245#(or (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4241#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (+ |ULTIMATE.start_main_~k~0#1| 1) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:43,652 INFO L290 TraceCheckUtils]: 15: Hoare triple {4245#(or (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {4245#(or (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:43,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {4245#(or (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4245#(or (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:43,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {4245#(or (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4245#(or (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:43,654 INFO L290 TraceCheckUtils]: 12: Hoare triple {4258#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4245#(or (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:43,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {4258#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} havoc main_#t~nondet5#1; {4258#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:43,656 INFO L290 TraceCheckUtils]: 10: Hoare triple {4258#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4258#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:43,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {4258#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4258#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:43,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {4271#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4258#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:43,659 INFO L290 TraceCheckUtils]: 7: Hoare triple {4271#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {4271#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:43,660 INFO L290 TraceCheckUtils]: 6: Hoare triple {4271#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4271#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:43,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {4271#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4271#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:43,661 INFO L290 TraceCheckUtils]: 4: Hoare triple {3981#(<= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {4271#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ |ULTIMATE.start_main_~a~0#1.offset| 16 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4)) (<= (div (+ |ULTIMATE.start_main_~a~0#1.offset| 15 (* (- 1) |ULTIMATE.start_main_~arr~0#1.offset|)) 4) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:43,662 INFO L290 TraceCheckUtils]: 3: Hoare triple {3954#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {3981#(<= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:39:43,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {3954#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {3954#true} is VALID [2022-02-20 23:39:43,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {3954#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {3954#true} is VALID [2022-02-20 23:39:43,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {3954#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3954#true} is VALID [2022-02-20 23:39:43,663 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 16 proven. 58 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:43,663 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1297683683] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:43,663 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:43,663 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 16, 16] total 39 [2022-02-20 23:39:43,664 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1040600275] [2022-02-20 23:39:43,664 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:43,664 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 3.3333333333333335) internal successors, (130), 39 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) Word has length 51 [2022-02-20 23:39:43,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:43,665 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 39 states, 39 states have (on average 3.3333333333333335) internal successors, (130), 39 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:39:43,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:43,806 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-02-20 23:39:43,806 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:43,807 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-02-20 23:39:43,807 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=1329, Unknown=0, NotChecked=0, Total=1482 [2022-02-20 23:39:43,807 INFO L87 Difference]: Start difference. First operand 52 states and 53 transitions. Second operand has 39 states, 39 states have (on average 3.3333333333333335) internal successors, (130), 39 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:39:45,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:45,526 INFO L93 Difference]: Finished difference Result 83 states and 84 transitions. [2022-02-20 23:39:45,526 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-02-20 23:39:45,526 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 3.3333333333333335) internal successors, (130), 39 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) Word has length 51 [2022-02-20 23:39:45,526 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:45,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 3.3333333333333335) internal successors, (130), 39 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:39:45,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 70 transitions. [2022-02-20 23:39:45,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 3.3333333333333335) internal successors, (130), 39 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:39:45,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 70 transitions. [2022-02-20 23:39:45,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 70 transitions. [2022-02-20 23:39:45,609 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:45,610 INFO L225 Difference]: With dead ends: 83 [2022-02-20 23:39:45,610 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 23:39:45,611 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 76 SyntacticMatches, 3 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 788 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=266, Invalid=2184, Unknown=0, NotChecked=0, Total=2450 [2022-02-20 23:39:45,611 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 116 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 715 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 116 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 734 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 715 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:45,611 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [116 Valid, 154 Invalid, 734 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 715 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 23:39:45,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 23:39:45,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-02-20 23:39:45,613 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:45,613 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 55 states have (on average 1.0363636363636364) internal successors, (57), 55 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have 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:39:45,613 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 55 states have (on average 1.0363636363636364) internal successors, (57), 55 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have 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:39:45,614 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 55 states have (on average 1.0363636363636364) internal successors, (57), 55 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have 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:39:45,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:45,614 INFO L93 Difference]: Finished difference Result 59 states and 60 transitions. [2022-02-20 23:39:45,615 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 60 transitions. [2022-02-20 23:39:45,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:45,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:45,615 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 55 states have (on average 1.0363636363636364) internal successors, (57), 55 states have internal predecessors, (57), 0 states have call successors, (0), 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 59 states. [2022-02-20 23:39:45,615 INFO L87 Difference]: Start difference. First operand has 56 states, 55 states have (on average 1.0363636363636364) internal successors, (57), 55 states have internal predecessors, (57), 0 states have call successors, (0), 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 59 states. [2022-02-20 23:39:45,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:45,616 INFO L93 Difference]: Finished difference Result 59 states and 60 transitions. [2022-02-20 23:39:45,616 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 60 transitions. [2022-02-20 23:39:45,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:45,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:45,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:45,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:45,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 55 states have (on average 1.0363636363636364) internal successors, (57), 55 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have 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:39:45,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 57 transitions. [2022-02-20 23:39:45,617 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 57 transitions. Word has length 51 [2022-02-20 23:39:45,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:45,618 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 57 transitions. [2022-02-20 23:39:45,618 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 39 states have (on average 3.3333333333333335) internal successors, (130), 39 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:39:45,618 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 57 transitions. [2022-02-20 23:39:45,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-02-20 23:39:45,618 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:45,618 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:45,637 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:39:45,828 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-02-20 23:39:45,828 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:45,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:45,828 INFO L85 PathProgramCache]: Analyzing trace with hash -1552754007, now seen corresponding path program 8 times [2022-02-20 23:39:45,829 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:45,829 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [674765022] [2022-02-20 23:39:45,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:45,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:45,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:46,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {4574#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4574#true} is VALID [2022-02-20 23:39:46,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {4574#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {4574#true} is VALID [2022-02-20 23:39:46,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {4574#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {4574#true} is VALID [2022-02-20 23:39:46,085 INFO L290 TraceCheckUtils]: 3: Hoare triple {4574#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {4576#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:39:46,085 INFO L290 TraceCheckUtils]: 4: Hoare triple {4576#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {4577#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:46,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {4577#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4577#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:46,086 INFO L290 TraceCheckUtils]: 6: Hoare triple {4577#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4577#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:46,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {4577#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {4577#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:46,087 INFO L290 TraceCheckUtils]: 8: Hoare triple {4577#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4578#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,087 INFO L290 TraceCheckUtils]: 9: Hoare triple {4578#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4578#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,088 INFO L290 TraceCheckUtils]: 10: Hoare triple {4578#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4578#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,088 INFO L290 TraceCheckUtils]: 11: Hoare triple {4578#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {4578#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,088 INFO L290 TraceCheckUtils]: 12: Hoare triple {4578#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4579#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,089 INFO L290 TraceCheckUtils]: 13: Hoare triple {4579#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4579#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,089 INFO L290 TraceCheckUtils]: 14: Hoare triple {4579#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4579#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,090 INFO L290 TraceCheckUtils]: 15: Hoare triple {4579#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {4579#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,090 INFO L290 TraceCheckUtils]: 16: Hoare triple {4579#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4580#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,091 INFO L290 TraceCheckUtils]: 17: Hoare triple {4580#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4580#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,091 INFO L290 TraceCheckUtils]: 18: Hoare triple {4580#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4580#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,091 INFO L290 TraceCheckUtils]: 19: Hoare triple {4580#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {4580#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,092 INFO L290 TraceCheckUtils]: 20: Hoare triple {4580#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4581#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,092 INFO L290 TraceCheckUtils]: 21: Hoare triple {4581#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4581#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,093 INFO L290 TraceCheckUtils]: 22: Hoare triple {4581#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,093 INFO L290 TraceCheckUtils]: 23: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,094 INFO L290 TraceCheckUtils]: 25: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !(main_~k~0#1 < main_~length~0#1); {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,095 INFO L290 TraceCheckUtils]: 26: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,095 INFO L290 TraceCheckUtils]: 27: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,096 INFO L290 TraceCheckUtils]: 28: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,096 INFO L290 TraceCheckUtils]: 29: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,097 INFO L290 TraceCheckUtils]: 32: Hoare triple {4582#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,098 INFO L290 TraceCheckUtils]: 33: Hoare triple {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,098 INFO L290 TraceCheckUtils]: 34: Hoare triple {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,099 INFO L290 TraceCheckUtils]: 35: Hoare triple {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,099 INFO L290 TraceCheckUtils]: 36: Hoare triple {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,100 INFO L290 TraceCheckUtils]: 37: Hoare triple {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,100 INFO L290 TraceCheckUtils]: 38: Hoare triple {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,101 INFO L290 TraceCheckUtils]: 39: Hoare triple {4583#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,101 INFO L290 TraceCheckUtils]: 40: Hoare triple {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,102 INFO L290 TraceCheckUtils]: 41: Hoare triple {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,102 INFO L290 TraceCheckUtils]: 42: Hoare triple {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,103 INFO L290 TraceCheckUtils]: 43: Hoare triple {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,103 INFO L290 TraceCheckUtils]: 44: Hoare triple {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,104 INFO L290 TraceCheckUtils]: 45: Hoare triple {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,104 INFO L290 TraceCheckUtils]: 46: Hoare triple {4584#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,105 INFO L290 TraceCheckUtils]: 47: Hoare triple {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,105 INFO L290 TraceCheckUtils]: 48: Hoare triple {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,105 INFO L290 TraceCheckUtils]: 49: Hoare triple {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,106 INFO L290 TraceCheckUtils]: 50: Hoare triple {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:46,106 INFO L290 TraceCheckUtils]: 51: Hoare triple {4585#(and (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,107 INFO L290 TraceCheckUtils]: 52: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,107 INFO L290 TraceCheckUtils]: 53: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4587#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 16 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,108 INFO L290 TraceCheckUtils]: 54: Hoare triple {4587#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 16 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {4575#false} is VALID [2022-02-20 23:39:46,108 INFO L134 CoverageAnalysis]: Checked inductivity of 91 backedges. 18 proven. 73 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:46,108 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:46,108 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [674765022] [2022-02-20 23:39:46,108 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [674765022] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:46,108 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1429826676] [2022-02-20 23:39:46,109 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:39:46,109 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:46,109 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:46,110 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:39:46,111 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:39:46,195 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:39:46,196 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:39:46,197 INFO L263 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 29 conjunts are in the unsatisfiable core [2022-02-20 23:39:46,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:46,215 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:46,823 INFO L290 TraceCheckUtils]: 0: Hoare triple {4574#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4574#true} is VALID [2022-02-20 23:39:46,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {4574#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {4574#true} is VALID [2022-02-20 23:39:46,823 INFO L290 TraceCheckUtils]: 2: Hoare triple {4574#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {4574#true} is VALID [2022-02-20 23:39:46,823 INFO L290 TraceCheckUtils]: 3: Hoare triple {4574#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {4574#true} is VALID [2022-02-20 23:39:46,824 INFO L290 TraceCheckUtils]: 4: Hoare triple {4574#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {4603#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,824 INFO L290 TraceCheckUtils]: 5: Hoare triple {4603#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4603#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,824 INFO L290 TraceCheckUtils]: 6: Hoare triple {4603#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4603#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {4603#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {4603#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {4603#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4616#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {4616#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4616#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,826 INFO L290 TraceCheckUtils]: 10: Hoare triple {4616#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4616#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,827 INFO L290 TraceCheckUtils]: 11: Hoare triple {4616#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {4616#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,827 INFO L290 TraceCheckUtils]: 12: Hoare triple {4616#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4629#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {4629#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4629#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {4629#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4629#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {4629#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {4629#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,829 INFO L290 TraceCheckUtils]: 16: Hoare triple {4629#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4642#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,829 INFO L290 TraceCheckUtils]: 17: Hoare triple {4642#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4642#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,830 INFO L290 TraceCheckUtils]: 18: Hoare triple {4642#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4642#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,830 INFO L290 TraceCheckUtils]: 19: Hoare triple {4642#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {4642#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:46,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {4642#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4655#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {4655#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4655#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:46,832 INFO L290 TraceCheckUtils]: 22: Hoare triple {4655#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4662#(<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:46,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {4662#(<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} havoc main_#t~nondet5#1; {4662#(<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:46,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {4662#(<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4662#(<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:46,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {4662#(<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} assume !(main_~k~0#1 < main_~length~0#1); {4662#(<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:46,834 INFO L290 TraceCheckUtils]: 26: Hoare triple {4662#(<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:46,834 INFO L290 TraceCheckUtils]: 27: Hoare triple {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:46,835 INFO L290 TraceCheckUtils]: 28: Hoare triple {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:46,835 INFO L290 TraceCheckUtils]: 29: Hoare triple {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:46,836 INFO L290 TraceCheckUtils]: 30: Hoare triple {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:46,836 INFO L290 TraceCheckUtils]: 31: Hoare triple {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:46,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {4675#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:46,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:46,841 INFO L290 TraceCheckUtils]: 34: Hoare triple {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:46,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:46,842 INFO L290 TraceCheckUtils]: 36: Hoare triple {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:46,843 INFO L290 TraceCheckUtils]: 37: Hoare triple {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:46,843 INFO L290 TraceCheckUtils]: 38: Hoare triple {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:46,844 INFO L290 TraceCheckUtils]: 39: Hoare triple {4694#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,844 INFO L290 TraceCheckUtils]: 40: Hoare triple {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,845 INFO L290 TraceCheckUtils]: 41: Hoare triple {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,845 INFO L290 TraceCheckUtils]: 43: Hoare triple {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,846 INFO L290 TraceCheckUtils]: 44: Hoare triple {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,846 INFO L290 TraceCheckUtils]: 45: Hoare triple {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,847 INFO L290 TraceCheckUtils]: 46: Hoare triple {4716#(and (<= 4 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,847 INFO L290 TraceCheckUtils]: 47: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,848 INFO L290 TraceCheckUtils]: 48: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,848 INFO L290 TraceCheckUtils]: 49: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,849 INFO L290 TraceCheckUtils]: 50: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,849 INFO L290 TraceCheckUtils]: 51: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,850 INFO L290 TraceCheckUtils]: 52: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,850 INFO L290 TraceCheckUtils]: 53: Hoare triple {4586#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4587#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 16 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:46,851 INFO L290 TraceCheckUtils]: 54: Hoare triple {4587#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 16 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {4575#false} is VALID [2022-02-20 23:39:46,851 INFO L134 CoverageAnalysis]: Checked inductivity of 91 backedges. 32 proven. 59 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:46,851 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:47,203 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:47,204 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 19 treesize of output 23 [2022-02-20 23:39:47,983 INFO L290 TraceCheckUtils]: 54: Hoare triple {4762#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {4575#false} is VALID [2022-02-20 23:39:47,984 INFO L290 TraceCheckUtils]: 53: Hoare triple {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4762#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:47,984 INFO L290 TraceCheckUtils]: 52: Hoare triple {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:47,985 INFO L290 TraceCheckUtils]: 51: Hoare triple {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:47,985 INFO L290 TraceCheckUtils]: 50: Hoare triple {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:47,985 INFO L290 TraceCheckUtils]: 49: Hoare triple {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:47,986 INFO L290 TraceCheckUtils]: 48: Hoare triple {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:47,986 INFO L290 TraceCheckUtils]: 47: Hoare triple {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:47,987 INFO L290 TraceCheckUtils]: 46: Hoare triple {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4766#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:47,987 INFO L290 TraceCheckUtils]: 45: Hoare triple {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:47,988 INFO L290 TraceCheckUtils]: 44: Hoare triple {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:47,988 INFO L290 TraceCheckUtils]: 43: Hoare triple {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:47,989 INFO L290 TraceCheckUtils]: 42: Hoare triple {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:47,989 INFO L290 TraceCheckUtils]: 41: Hoare triple {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:47,990 INFO L290 TraceCheckUtils]: 40: Hoare triple {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:47,990 INFO L290 TraceCheckUtils]: 39: Hoare triple {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4788#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:47,991 INFO L290 TraceCheckUtils]: 38: Hoare triple {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:47,991 INFO L290 TraceCheckUtils]: 37: Hoare triple {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:47,992 INFO L290 TraceCheckUtils]: 36: Hoare triple {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:47,992 INFO L290 TraceCheckUtils]: 35: Hoare triple {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:47,992 INFO L290 TraceCheckUtils]: 34: Hoare triple {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:47,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:47,993 INFO L290 TraceCheckUtils]: 32: Hoare triple {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {4810#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:47,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:47,994 INFO L290 TraceCheckUtils]: 30: Hoare triple {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:47,995 INFO L290 TraceCheckUtils]: 29: Hoare triple {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:47,995 INFO L290 TraceCheckUtils]: 28: Hoare triple {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:47,996 INFO L290 TraceCheckUtils]: 27: Hoare triple {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:47,996 INFO L290 TraceCheckUtils]: 26: Hoare triple {4851#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {4832#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:47,997 INFO L290 TraceCheckUtils]: 25: Hoare triple {4851#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !(main_~k~0#1 < main_~length~0#1); {4851#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:47,997 INFO L290 TraceCheckUtils]: 24: Hoare triple {4851#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4851#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:47,997 INFO L290 TraceCheckUtils]: 23: Hoare triple {4851#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {4851#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:47,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {4864#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4851#(or (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:47,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {4864#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4864#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))))} is VALID [2022-02-20 23:39:47,999 INFO L290 TraceCheckUtils]: 20: Hoare triple {4871#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4864#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))))} is VALID [2022-02-20 23:39:48,000 INFO L290 TraceCheckUtils]: 19: Hoare triple {4871#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {4871#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,000 INFO L290 TraceCheckUtils]: 18: Hoare triple {4871#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4871#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,001 INFO L290 TraceCheckUtils]: 17: Hoare triple {4871#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4871#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,002 INFO L290 TraceCheckUtils]: 16: Hoare triple {4884#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4871#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,002 INFO L290 TraceCheckUtils]: 15: Hoare triple {4884#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {4884#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {4884#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4884#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {4884#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4884#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,004 INFO L290 TraceCheckUtils]: 12: Hoare triple {4897#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4884#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,005 INFO L290 TraceCheckUtils]: 11: Hoare triple {4897#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {4897#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,005 INFO L290 TraceCheckUtils]: 10: Hoare triple {4897#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4897#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {4897#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4897#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {4910#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4897#(or (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:48,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {4910#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} havoc main_#t~nondet5#1; {4910#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:48,008 INFO L290 TraceCheckUtils]: 6: Hoare triple {4910#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {4910#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:48,008 INFO L290 TraceCheckUtils]: 5: Hoare triple {4910#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {4910#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:48,009 INFO L290 TraceCheckUtils]: 4: Hoare triple {4574#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {4910#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 16) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:48,009 INFO L290 TraceCheckUtils]: 3: Hoare triple {4574#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {4574#true} is VALID [2022-02-20 23:39:48,009 INFO L290 TraceCheckUtils]: 2: Hoare triple {4574#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {4574#true} is VALID [2022-02-20 23:39:48,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {4574#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {4574#true} is VALID [2022-02-20 23:39:48,009 INFO L290 TraceCheckUtils]: 0: Hoare triple {4574#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4574#true} is VALID [2022-02-20 23:39:48,009 INFO L134 CoverageAnalysis]: Checked inductivity of 91 backedges. 32 proven. 59 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:48,010 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1429826676] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:48,010 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:48,010 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 33 [2022-02-20 23:39:48,010 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [869069271] [2022-02-20 23:39:48,010 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:48,010 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 33 states have (on average 4.696969696969697) internal successors, (155), 34 states have internal predecessors, (155), 0 states have call successors, (0), 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 55 [2022-02-20 23:39:48,011 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:48,011 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 34 states, 33 states have (on average 4.696969696969697) internal successors, (155), 34 states have internal predecessors, (155), 0 states have call successors, (0), 0 states have 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:39:48,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:48,132 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-02-20 23:39:48,132 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:48,133 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-02-20 23:39:48,133 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=185, Invalid=937, Unknown=0, NotChecked=0, Total=1122 [2022-02-20 23:39:48,133 INFO L87 Difference]: Start difference. First operand 56 states and 57 transitions. Second operand has 34 states, 33 states have (on average 4.696969696969697) internal successors, (155), 34 states have internal predecessors, (155), 0 states have call successors, (0), 0 states have 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:39:49,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:49,810 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2022-02-20 23:39:49,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 23:39:49,811 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 33 states have (on average 4.696969696969697) internal successors, (155), 34 states have internal predecessors, (155), 0 states have call successors, (0), 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 55 [2022-02-20 23:39:49,811 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:49,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 33 states have (on average 4.696969696969697) internal successors, (155), 34 states have internal predecessors, (155), 0 states have call successors, (0), 0 states have 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:39:49,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 72 transitions. [2022-02-20 23:39:49,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 33 states have (on average 4.696969696969697) internal successors, (155), 34 states have internal predecessors, (155), 0 states have call successors, (0), 0 states have 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:39:49,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 72 transitions. [2022-02-20 23:39:49,812 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 72 transitions. [2022-02-20 23:39:49,890 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:49,890 INFO L225 Difference]: With dead ends: 70 [2022-02-20 23:39:49,890 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 23:39:49,891 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 651 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=408, Invalid=1848, Unknown=0, NotChecked=0, Total=2256 [2022-02-20 23:39:49,892 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 163 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 699 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 163 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 728 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 699 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:49,892 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [163 Valid, 166 Invalid, 728 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 699 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 23:39:49,892 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 23:39:49,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 63. [2022-02-20 23:39:49,893 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:49,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 63 states, 62 states have (on average 1.032258064516129) internal successors, (64), 62 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have 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:39:49,894 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 63 states, 62 states have (on average 1.032258064516129) internal successors, (64), 62 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have 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:39:49,894 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 63 states, 62 states have (on average 1.032258064516129) internal successors, (64), 62 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have 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:39:49,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:49,901 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2022-02-20 23:39:49,901 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2022-02-20 23:39:49,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:49,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:49,901 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 62 states have (on average 1.032258064516129) internal successors, (64), 62 states have internal predecessors, (64), 0 states have call successors, (0), 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 70 states. [2022-02-20 23:39:49,902 INFO L87 Difference]: Start difference. First operand has 63 states, 62 states have (on average 1.032258064516129) internal successors, (64), 62 states have internal predecessors, (64), 0 states have call successors, (0), 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 70 states. [2022-02-20 23:39:49,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:49,903 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2022-02-20 23:39:49,903 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2022-02-20 23:39:49,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:49,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:49,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:49,904 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:49,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 62 states have (on average 1.032258064516129) internal successors, (64), 62 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have 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:39:49,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 64 transitions. [2022-02-20 23:39:49,907 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 64 transitions. Word has length 55 [2022-02-20 23:39:49,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:49,907 INFO L470 AbstractCegarLoop]: Abstraction has 63 states and 64 transitions. [2022-02-20 23:39:49,908 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 33 states have (on average 4.696969696969697) internal successors, (155), 34 states have internal predecessors, (155), 0 states have call successors, (0), 0 states have 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:39:49,908 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 64 transitions. [2022-02-20 23:39:49,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-02-20 23:39:49,908 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:49,908 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:49,939 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-02-20 23:39:50,108 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,SelfDestructingSolverStorable17 [2022-02-20 23:39:50,109 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:50,109 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:50,109 INFO L85 PathProgramCache]: Analyzing trace with hash -1510058895, now seen corresponding path program 9 times [2022-02-20 23:39:50,109 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:50,109 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2092293892] [2022-02-20 23:39:50,109 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:50,109 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:50,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:50,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {5235#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5235#true} is VALID [2022-02-20 23:39:50,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {5235#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {5235#true} is VALID [2022-02-20 23:39:50,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {5235#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {5235#true} is VALID [2022-02-20 23:39:50,583 INFO L290 TraceCheckUtils]: 3: Hoare triple {5235#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5237#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:39:50,583 INFO L290 TraceCheckUtils]: 4: Hoare triple {5237#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {5238#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:50,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {5238#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5238#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:50,584 INFO L290 TraceCheckUtils]: 6: Hoare triple {5238#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5238#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:50,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {5238#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {5238#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:50,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {5238#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5239#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:50,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {5239#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5239#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:50,587 INFO L290 TraceCheckUtils]: 10: Hoare triple {5239#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5239#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:50,587 INFO L290 TraceCheckUtils]: 11: Hoare triple {5239#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {5239#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:50,588 INFO L290 TraceCheckUtils]: 12: Hoare triple {5239#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5240#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {5240#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5240#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,589 INFO L290 TraceCheckUtils]: 14: Hoare triple {5240#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5240#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,589 INFO L290 TraceCheckUtils]: 15: Hoare triple {5240#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {5240#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,590 INFO L290 TraceCheckUtils]: 16: Hoare triple {5240#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5241#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:50,591 INFO L290 TraceCheckUtils]: 17: Hoare triple {5241#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5241#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:50,591 INFO L290 TraceCheckUtils]: 18: Hoare triple {5241#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5241#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:50,592 INFO L290 TraceCheckUtils]: 19: Hoare triple {5241#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {5241#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:50,592 INFO L290 TraceCheckUtils]: 20: Hoare triple {5241#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5242#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:50,593 INFO L290 TraceCheckUtils]: 21: Hoare triple {5242#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5243#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:39:50,594 INFO L290 TraceCheckUtils]: 22: Hoare triple {5243#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5243#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:39:50,595 INFO L290 TraceCheckUtils]: 23: Hoare triple {5243#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} havoc main_#t~nondet5#1; {5243#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:39:50,596 INFO L290 TraceCheckUtils]: 24: Hoare triple {5243#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5244#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,597 INFO L290 TraceCheckUtils]: 25: Hoare triple {5244#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !(main_~k~0#1 < main_~length~0#1); {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,597 INFO L290 TraceCheckUtils]: 26: Hoare triple {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,598 INFO L290 TraceCheckUtils]: 27: Hoare triple {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,598 INFO L290 TraceCheckUtils]: 28: Hoare triple {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,599 INFO L290 TraceCheckUtils]: 29: Hoare triple {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,600 INFO L290 TraceCheckUtils]: 30: Hoare triple {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,600 INFO L290 TraceCheckUtils]: 31: Hoare triple {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,601 INFO L290 TraceCheckUtils]: 32: Hoare triple {5245#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:50,601 INFO L290 TraceCheckUtils]: 33: Hoare triple {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:50,602 INFO L290 TraceCheckUtils]: 34: Hoare triple {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:50,602 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:50,603 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:50,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:50,604 INFO L290 TraceCheckUtils]: 38: Hoare triple {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:50,605 INFO L290 TraceCheckUtils]: 39: Hoare triple {5246#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,606 INFO L290 TraceCheckUtils]: 40: Hoare triple {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,606 INFO L290 TraceCheckUtils]: 41: Hoare triple {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,607 INFO L290 TraceCheckUtils]: 42: Hoare triple {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,607 INFO L290 TraceCheckUtils]: 43: Hoare triple {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,608 INFO L290 TraceCheckUtils]: 44: Hoare triple {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,609 INFO L290 TraceCheckUtils]: 45: Hoare triple {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,609 INFO L290 TraceCheckUtils]: 46: Hoare triple {5247#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,610 INFO L290 TraceCheckUtils]: 47: Hoare triple {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,611 INFO L290 TraceCheckUtils]: 48: Hoare triple {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,611 INFO L290 TraceCheckUtils]: 49: Hoare triple {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,613 INFO L290 TraceCheckUtils]: 51: Hoare triple {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,613 INFO L290 TraceCheckUtils]: 52: Hoare triple {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,614 INFO L290 TraceCheckUtils]: 53: Hoare triple {5248#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5249#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,615 INFO L290 TraceCheckUtils]: 54: Hoare triple {5249#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5250#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,616 INFO L290 TraceCheckUtils]: 55: Hoare triple {5250#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5251#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:50,616 INFO L290 TraceCheckUtils]: 56: Hoare triple {5251#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5236#false} is VALID [2022-02-20 23:39:50,616 INFO L290 TraceCheckUtils]: 57: Hoare triple {5236#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5236#false} is VALID [2022-02-20 23:39:50,616 INFO L290 TraceCheckUtils]: 58: Hoare triple {5236#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5236#false} is VALID [2022-02-20 23:39:50,616 INFO L290 TraceCheckUtils]: 59: Hoare triple {5236#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5236#false} is VALID [2022-02-20 23:39:50,616 INFO L290 TraceCheckUtils]: 60: Hoare triple {5236#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5236#false} is VALID [2022-02-20 23:39:50,616 INFO L290 TraceCheckUtils]: 61: Hoare triple {5236#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {5236#false} is VALID [2022-02-20 23:39:50,617 INFO L134 CoverageAnalysis]: Checked inductivity of 120 backedges. 21 proven. 99 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:50,617 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:50,617 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2092293892] [2022-02-20 23:39:50,617 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2092293892] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:50,617 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [216206063] [2022-02-20 23:39:50,617 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:39:50,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:50,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:50,620 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:39:50,647 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:39:50,826 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2022-02-20 23:39:50,826 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:39:50,827 INFO L263 TraceCheckSpWp]: Trace formula consists of 294 conjuncts, 40 conjunts are in the unsatisfiable core [2022-02-20 23:39:50,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:50,841 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:51,762 INFO L356 Elim1Store]: treesize reduction 12, result has 20.0 percent of original size [2022-02-20 23:39:51,762 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 22 treesize of output 10 [2022-02-20 23:39:51,805 INFO L290 TraceCheckUtils]: 0: Hoare triple {5235#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5235#true} is VALID [2022-02-20 23:39:51,805 INFO L290 TraceCheckUtils]: 1: Hoare triple {5235#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {5235#true} is VALID [2022-02-20 23:39:51,805 INFO L290 TraceCheckUtils]: 2: Hoare triple {5235#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {5235#true} is VALID [2022-02-20 23:39:51,805 INFO L290 TraceCheckUtils]: 3: Hoare triple {5235#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5235#true} is VALID [2022-02-20 23:39:51,806 INFO L290 TraceCheckUtils]: 4: Hoare triple {5235#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {5267#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:51,807 INFO L290 TraceCheckUtils]: 5: Hoare triple {5267#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5267#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:51,807 INFO L290 TraceCheckUtils]: 6: Hoare triple {5267#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5267#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:51,808 INFO L290 TraceCheckUtils]: 7: Hoare triple {5267#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {5267#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:51,808 INFO L290 TraceCheckUtils]: 8: Hoare triple {5267#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5280#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {5280#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5280#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,809 INFO L290 TraceCheckUtils]: 10: Hoare triple {5280#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5280#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,810 INFO L290 TraceCheckUtils]: 11: Hoare triple {5280#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} havoc main_#t~nondet5#1; {5280#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,810 INFO L290 TraceCheckUtils]: 12: Hoare triple {5280#(and (= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5293#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 1) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,811 INFO L290 TraceCheckUtils]: 13: Hoare triple {5293#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 1) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5293#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 1) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,812 INFO L290 TraceCheckUtils]: 14: Hoare triple {5293#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 1) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5293#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 1) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,812 INFO L290 TraceCheckUtils]: 15: Hoare triple {5293#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 1) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} havoc main_#t~nondet5#1; {5293#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 1) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,813 INFO L290 TraceCheckUtils]: 16: Hoare triple {5293#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 1) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5306#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 2) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {5306#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 2) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5306#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 2) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,814 INFO L290 TraceCheckUtils]: 18: Hoare triple {5306#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 2) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5306#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 2) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,814 INFO L290 TraceCheckUtils]: 19: Hoare triple {5306#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 2) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} havoc main_#t~nondet5#1; {5306#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 2) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} is VALID [2022-02-20 23:39:51,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {5306#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= (+ (- 2) |ULTIMATE.start_main_~k~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5319#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ (- 3) |ULTIMATE.start_main_~k~0#1|) 1))} is VALID [2022-02-20 23:39:51,815 INFO L290 TraceCheckUtils]: 21: Hoare triple {5319#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ (- 3) |ULTIMATE.start_main_~k~0#1|) 1))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5323#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ (- 3) |ULTIMATE.start_main_~k~0#1|) 1))} is VALID [2022-02-20 23:39:51,816 INFO L290 TraceCheckUtils]: 22: Hoare triple {5323#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ (- 3) |ULTIMATE.start_main_~k~0#1|) 1))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5323#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ (- 3) |ULTIMATE.start_main_~k~0#1|) 1))} is VALID [2022-02-20 23:39:51,816 INFO L290 TraceCheckUtils]: 23: Hoare triple {5323#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ (- 3) |ULTIMATE.start_main_~k~0#1|) 1))} havoc main_#t~nondet5#1; {5323#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ (- 3) |ULTIMATE.start_main_~k~0#1|) 1))} is VALID [2022-02-20 23:39:51,817 INFO L290 TraceCheckUtils]: 24: Hoare triple {5323#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ (- 3) |ULTIMATE.start_main_~k~0#1|) 1))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5333#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 5))} is VALID [2022-02-20 23:39:51,817 INFO L290 TraceCheckUtils]: 25: Hoare triple {5333#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 5))} assume !(main_~k~0#1 < main_~length~0#1); {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,818 INFO L290 TraceCheckUtils]: 26: Hoare triple {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,818 INFO L290 TraceCheckUtils]: 27: Hoare triple {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,819 INFO L290 TraceCheckUtils]: 28: Hoare triple {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,819 INFO L290 TraceCheckUtils]: 29: Hoare triple {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,820 INFO L290 TraceCheckUtils]: 30: Hoare triple {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,820 INFO L290 TraceCheckUtils]: 31: Hoare triple {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,820 INFO L290 TraceCheckUtils]: 32: Hoare triple {5337#(and (= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,821 INFO L290 TraceCheckUtils]: 33: Hoare triple {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,821 INFO L290 TraceCheckUtils]: 34: Hoare triple {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,822 INFO L290 TraceCheckUtils]: 35: Hoare triple {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,822 INFO L290 TraceCheckUtils]: 36: Hoare triple {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,823 INFO L290 TraceCheckUtils]: 37: Hoare triple {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,823 INFO L290 TraceCheckUtils]: 38: Hoare triple {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,824 INFO L290 TraceCheckUtils]: 39: Hoare triple {5359#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (<= |ULTIMATE.start_main_~length~0#1| 5))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:39:51,824 INFO L290 TraceCheckUtils]: 40: Hoare triple {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:39:51,825 INFO L290 TraceCheckUtils]: 41: Hoare triple {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:39:51,825 INFO L290 TraceCheckUtils]: 42: Hoare triple {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:39:51,826 INFO L290 TraceCheckUtils]: 43: Hoare triple {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:39:51,826 INFO L290 TraceCheckUtils]: 44: Hoare triple {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:39:51,827 INFO L290 TraceCheckUtils]: 45: Hoare triple {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:39:51,827 INFO L290 TraceCheckUtils]: 46: Hoare triple {5381#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5) (= |ULTIMATE.start_main_~arr~0#1.offset| (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,828 INFO L290 TraceCheckUtils]: 47: Hoare triple {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,828 INFO L290 TraceCheckUtils]: 48: Hoare triple {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,829 INFO L290 TraceCheckUtils]: 49: Hoare triple {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,829 INFO L290 TraceCheckUtils]: 50: Hoare triple {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,829 INFO L290 TraceCheckUtils]: 51: Hoare triple {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,830 INFO L290 TraceCheckUtils]: 52: Hoare triple {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,831 INFO L290 TraceCheckUtils]: 53: Hoare triple {5403#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| 12)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~length~0#1| 5))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5425#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,831 INFO L290 TraceCheckUtils]: 54: Hoare triple {5425#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|)) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5429#(and (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|))) (<= |ULTIMATE.start_main_~length~0#1| 5))} is VALID [2022-02-20 23:39:51,832 INFO L290 TraceCheckUtils]: 55: Hoare triple {5429#(and (< 4 |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ 16 |ULTIMATE.start_main_~arr~0#1.offset|))) (<= |ULTIMATE.start_main_~length~0#1| 5))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5433#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:51,832 INFO L290 TraceCheckUtils]: 56: Hoare triple {5433#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5236#false} is VALID [2022-02-20 23:39:51,832 INFO L290 TraceCheckUtils]: 57: Hoare triple {5236#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5236#false} is VALID [2022-02-20 23:39:51,832 INFO L290 TraceCheckUtils]: 58: Hoare triple {5236#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5236#false} is VALID [2022-02-20 23:39:51,832 INFO L290 TraceCheckUtils]: 59: Hoare triple {5236#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5236#false} is VALID [2022-02-20 23:39:51,832 INFO L290 TraceCheckUtils]: 60: Hoare triple {5236#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5236#false} is VALID [2022-02-20 23:39:51,832 INFO L290 TraceCheckUtils]: 61: Hoare triple {5236#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {5236#false} is VALID [2022-02-20 23:39:51,833 INFO L134 CoverageAnalysis]: Checked inductivity of 120 backedges. 21 proven. 99 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:51,833 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:51,878 INFO L356 Elim1Store]: treesize reduction 3, result has 81.3 percent of original size [2022-02-20 23:39:51,878 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 16 treesize of output 17 [2022-02-20 23:39:52,690 INFO L290 TraceCheckUtils]: 61: Hoare triple {5236#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {5236#false} is VALID [2022-02-20 23:39:52,691 INFO L290 TraceCheckUtils]: 60: Hoare triple {5236#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5236#false} is VALID [2022-02-20 23:39:52,691 INFO L290 TraceCheckUtils]: 59: Hoare triple {5236#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5236#false} is VALID [2022-02-20 23:39:52,691 INFO L290 TraceCheckUtils]: 58: Hoare triple {5236#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5236#false} is VALID [2022-02-20 23:39:52,691 INFO L290 TraceCheckUtils]: 57: Hoare triple {5236#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5236#false} is VALID [2022-02-20 23:39:52,691 INFO L290 TraceCheckUtils]: 56: Hoare triple {5433#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5236#false} is VALID [2022-02-20 23:39:52,692 INFO L290 TraceCheckUtils]: 55: Hoare triple {5470#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5433#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:52,692 INFO L290 TraceCheckUtils]: 54: Hoare triple {5474#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5470#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:39:52,693 INFO L290 TraceCheckUtils]: 53: Hoare triple {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5474#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,693 INFO L290 TraceCheckUtils]: 52: Hoare triple {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,694 INFO L290 TraceCheckUtils]: 51: Hoare triple {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,694 INFO L290 TraceCheckUtils]: 50: Hoare triple {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,695 INFO L290 TraceCheckUtils]: 49: Hoare triple {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,695 INFO L290 TraceCheckUtils]: 48: Hoare triple {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,695 INFO L290 TraceCheckUtils]: 47: Hoare triple {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,696 INFO L290 TraceCheckUtils]: 46: Hoare triple {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5478#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,696 INFO L290 TraceCheckUtils]: 45: Hoare triple {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:52,697 INFO L290 TraceCheckUtils]: 44: Hoare triple {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:52,697 INFO L290 TraceCheckUtils]: 43: Hoare triple {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:52,698 INFO L290 TraceCheckUtils]: 42: Hoare triple {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:52,698 INFO L290 TraceCheckUtils]: 41: Hoare triple {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:52,699 INFO L290 TraceCheckUtils]: 40: Hoare triple {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:52,699 INFO L290 TraceCheckUtils]: 39: Hoare triple {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5500#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:52,700 INFO L290 TraceCheckUtils]: 38: Hoare triple {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,700 INFO L290 TraceCheckUtils]: 37: Hoare triple {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,701 INFO L290 TraceCheckUtils]: 36: Hoare triple {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,702 INFO L290 TraceCheckUtils]: 33: Hoare triple {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,702 INFO L290 TraceCheckUtils]: 32: Hoare triple {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5522#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,703 INFO L290 TraceCheckUtils]: 31: Hoare triple {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,703 INFO L290 TraceCheckUtils]: 30: Hoare triple {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,704 INFO L290 TraceCheckUtils]: 28: Hoare triple {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,705 INFO L290 TraceCheckUtils]: 26: Hoare triple {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,706 INFO L290 TraceCheckUtils]: 25: Hoare triple {5566#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))))} assume !(main_~k~0#1 < main_~length~0#1); {5544#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:39:52,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {5570#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5566#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))))} is VALID [2022-02-20 23:39:52,707 INFO L290 TraceCheckUtils]: 23: Hoare triple {5570#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {5570#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:52,707 INFO L290 TraceCheckUtils]: 22: Hoare triple {5570#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5570#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:52,708 INFO L290 TraceCheckUtils]: 21: Hoare triple {5580#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5570#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:39:52,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {5584#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5580#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,709 INFO L290 TraceCheckUtils]: 19: Hoare triple {5584#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} havoc main_#t~nondet5#1; {5584#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:52,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {5584#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5584#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:52,710 INFO L290 TraceCheckUtils]: 17: Hoare triple {5584#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5584#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:52,711 INFO L290 TraceCheckUtils]: 16: Hoare triple {5597#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5584#(and (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)))} is VALID [2022-02-20 23:39:52,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {5597#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} havoc main_#t~nondet5#1; {5597#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,712 INFO L290 TraceCheckUtils]: 14: Hoare triple {5597#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5597#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,712 INFO L290 TraceCheckUtils]: 13: Hoare triple {5597#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5597#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {5610#(and (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5597#(and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {5610#(and (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)))} havoc main_#t~nondet5#1; {5610#(and (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)))} is VALID [2022-02-20 23:39:52,714 INFO L290 TraceCheckUtils]: 10: Hoare triple {5610#(and (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5610#(and (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)))} is VALID [2022-02-20 23:39:52,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {5610#(and (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5610#(and (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)))} is VALID [2022-02-20 23:39:52,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {5623#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5610#(and (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)))} is VALID [2022-02-20 23:39:52,716 INFO L290 TraceCheckUtils]: 7: Hoare triple {5623#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} havoc main_#t~nondet5#1; {5623#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,716 INFO L290 TraceCheckUtils]: 6: Hoare triple {5623#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5623#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {5623#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5623#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,718 INFO L290 TraceCheckUtils]: 4: Hoare triple {5235#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {5623#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 21)) (- 4))))} is VALID [2022-02-20 23:39:52,718 INFO L290 TraceCheckUtils]: 3: Hoare triple {5235#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5235#true} is VALID [2022-02-20 23:39:52,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {5235#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {5235#true} is VALID [2022-02-20 23:39:52,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {5235#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {5235#true} is VALID [2022-02-20 23:39:52,718 INFO L290 TraceCheckUtils]: 0: Hoare triple {5235#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5235#true} is VALID [2022-02-20 23:39:52,718 INFO L134 CoverageAnalysis]: Checked inductivity of 120 backedges. 21 proven. 99 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:52,718 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [216206063] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:52,719 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:52,719 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 16] total 44 [2022-02-20 23:39:52,719 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1698179249] [2022-02-20 23:39:52,719 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:52,720 INFO L78 Accepts]: Start accepts. Automaton has has 44 states, 44 states have (on average 3.8181818181818183) internal successors, (168), 44 states have internal predecessors, (168), 0 states have call successors, (0), 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 62 [2022-02-20 23:39:52,720 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:52,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 44 states, 44 states have (on average 3.8181818181818183) internal successors, (168), 44 states have internal predecessors, (168), 0 states have call successors, (0), 0 states have 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:39:52,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:52,854 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 44 states [2022-02-20 23:39:52,854 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:52,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2022-02-20 23:39:52,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=150, Invalid=1742, Unknown=0, NotChecked=0, Total=1892 [2022-02-20 23:39:52,855 INFO L87 Difference]: Start difference. First operand 63 states and 64 transitions. Second operand has 44 states, 44 states have (on average 3.8181818181818183) internal successors, (168), 44 states have internal predecessors, (168), 0 states have call successors, (0), 0 states have 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:39:55,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:55,605 INFO L93 Difference]: Finished difference Result 101 states and 102 transitions. [2022-02-20 23:39:55,605 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-20 23:39:55,605 INFO L78 Accepts]: Start accepts. Automaton has has 44 states, 44 states have (on average 3.8181818181818183) internal successors, (168), 44 states have internal predecessors, (168), 0 states have call successors, (0), 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 62 [2022-02-20 23:39:55,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:39:55,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 44 states have (on average 3.8181818181818183) internal successors, (168), 44 states have internal predecessors, (168), 0 states have call successors, (0), 0 states have 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:39:55,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 74 transitions. [2022-02-20 23:39:55,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 44 states have (on average 3.8181818181818183) internal successors, (168), 44 states have internal predecessors, (168), 0 states have call successors, (0), 0 states have 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:39:55,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 74 transitions. [2022-02-20 23:39:55,606 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 74 transitions. [2022-02-20 23:39:55,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:55,665 INFO L225 Difference]: With dead ends: 101 [2022-02-20 23:39:55,665 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 23:39:55,665 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 98 SyntacticMatches, 0 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 845 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=281, Invalid=3141, Unknown=0, NotChecked=0, Total=3422 [2022-02-20 23:39:55,666 INFO L933 BasicCegarLoop]: 14 mSDtfsCounter, 104 mSDsluCounter, 277 mSDsCounter, 0 mSdLazyCounter, 1383 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 104 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 1404 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 1383 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:39:55,666 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [104 Valid, 291 Invalid, 1404 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 1383 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-02-20 23:39:55,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 23:39:55,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 67. [2022-02-20 23:39:55,668 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:39:55,668 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 67 states, 66 states have (on average 1.0303030303030303) internal successors, (68), 66 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have 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:39:55,668 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 67 states, 66 states have (on average 1.0303030303030303) internal successors, (68), 66 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have 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:39:55,669 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 67 states, 66 states have (on average 1.0303030303030303) internal successors, (68), 66 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have 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:39:55,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:55,670 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2022-02-20 23:39:55,670 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2022-02-20 23:39:55,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:55,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:55,671 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 66 states have (on average 1.0303030303030303) internal successors, (68), 66 states have internal predecessors, (68), 0 states have call successors, (0), 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 70 states. [2022-02-20 23:39:55,671 INFO L87 Difference]: Start difference. First operand has 67 states, 66 states have (on average 1.0303030303030303) internal successors, (68), 66 states have internal predecessors, (68), 0 states have call successors, (0), 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 70 states. [2022-02-20 23:39:55,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:39:55,672 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2022-02-20 23:39:55,672 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2022-02-20 23:39:55,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:39:55,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:39:55,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:39:55,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:39:55,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 66 states have (on average 1.0303030303030303) internal successors, (68), 66 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have 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:39:55,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 68 transitions. [2022-02-20 23:39:55,673 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 68 transitions. Word has length 62 [2022-02-20 23:39:55,673 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:39:55,673 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 68 transitions. [2022-02-20 23:39:55,673 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 44 states, 44 states have (on average 3.8181818181818183) internal successors, (168), 44 states have internal predecessors, (168), 0 states have call successors, (0), 0 states have 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:39:55,673 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 68 transitions. [2022-02-20 23:39:55,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-02-20 23:39:55,674 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:39:55,674 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:39:55,691 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:39:55,879 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:55,879 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:39:55,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:39:55,880 INFO L85 PathProgramCache]: Analyzing trace with hash 205730958, now seen corresponding path program 10 times [2022-02-20 23:39:55,880 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:39:55,880 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1554086814] [2022-02-20 23:39:55,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:39:55,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:39:55,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:56,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {5985#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5985#true} is VALID [2022-02-20 23:39:56,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {5985#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {5985#true} is VALID [2022-02-20 23:39:56,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {5985#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {5985#true} is VALID [2022-02-20 23:39:56,221 INFO L290 TraceCheckUtils]: 3: Hoare triple {5985#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5987#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:39:56,222 INFO L290 TraceCheckUtils]: 4: Hoare triple {5987#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {5988#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:56,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {5988#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5988#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:56,223 INFO L290 TraceCheckUtils]: 6: Hoare triple {5988#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5988#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:56,223 INFO L290 TraceCheckUtils]: 7: Hoare triple {5988#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {5988#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:39:56,224 INFO L290 TraceCheckUtils]: 8: Hoare triple {5988#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5989#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {5989#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5989#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,225 INFO L290 TraceCheckUtils]: 10: Hoare triple {5989#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5989#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,225 INFO L290 TraceCheckUtils]: 11: Hoare triple {5989#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {5989#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,226 INFO L290 TraceCheckUtils]: 12: Hoare triple {5989#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5990#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,227 INFO L290 TraceCheckUtils]: 13: Hoare triple {5990#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5990#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,227 INFO L290 TraceCheckUtils]: 14: Hoare triple {5990#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5990#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,228 INFO L290 TraceCheckUtils]: 15: Hoare triple {5990#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {5990#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,228 INFO L290 TraceCheckUtils]: 16: Hoare triple {5990#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5991#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,229 INFO L290 TraceCheckUtils]: 17: Hoare triple {5991#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5991#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,230 INFO L290 TraceCheckUtils]: 18: Hoare triple {5991#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5991#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,230 INFO L290 TraceCheckUtils]: 19: Hoare triple {5991#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {5991#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {5991#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5992#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,231 INFO L290 TraceCheckUtils]: 21: Hoare triple {5992#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5992#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,232 INFO L290 TraceCheckUtils]: 22: Hoare triple {5992#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5992#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,232 INFO L290 TraceCheckUtils]: 23: Hoare triple {5992#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {5992#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,233 INFO L290 TraceCheckUtils]: 24: Hoare triple {5992#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5993#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,233 INFO L290 TraceCheckUtils]: 25: Hoare triple {5993#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {5993#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:56,234 INFO L290 TraceCheckUtils]: 26: Hoare triple {5993#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,235 INFO L290 TraceCheckUtils]: 28: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,236 INFO L290 TraceCheckUtils]: 29: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !(main_~k~0#1 < main_~length~0#1); {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,236 INFO L290 TraceCheckUtils]: 30: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,238 INFO L290 TraceCheckUtils]: 32: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,238 INFO L290 TraceCheckUtils]: 33: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,239 INFO L290 TraceCheckUtils]: 34: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,239 INFO L290 TraceCheckUtils]: 35: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,240 INFO L290 TraceCheckUtils]: 36: Hoare triple {5994#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,241 INFO L290 TraceCheckUtils]: 37: Hoare triple {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,241 INFO L290 TraceCheckUtils]: 38: Hoare triple {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,242 INFO L290 TraceCheckUtils]: 39: Hoare triple {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,243 INFO L290 TraceCheckUtils]: 41: Hoare triple {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,244 INFO L290 TraceCheckUtils]: 43: Hoare triple {5995#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:56,245 INFO L290 TraceCheckUtils]: 44: Hoare triple {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:56,246 INFO L290 TraceCheckUtils]: 45: Hoare triple {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:56,246 INFO L290 TraceCheckUtils]: 46: Hoare triple {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:56,247 INFO L290 TraceCheckUtils]: 47: Hoare triple {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:56,248 INFO L290 TraceCheckUtils]: 48: Hoare triple {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:56,248 INFO L290 TraceCheckUtils]: 49: Hoare triple {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:56,249 INFO L290 TraceCheckUtils]: 50: Hoare triple {5996#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,250 INFO L290 TraceCheckUtils]: 51: Hoare triple {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,250 INFO L290 TraceCheckUtils]: 52: Hoare triple {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,251 INFO L290 TraceCheckUtils]: 53: Hoare triple {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,251 INFO L290 TraceCheckUtils]: 54: Hoare triple {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,252 INFO L290 TraceCheckUtils]: 55: Hoare triple {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,253 INFO L290 TraceCheckUtils]: 56: Hoare triple {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,253 INFO L290 TraceCheckUtils]: 57: Hoare triple {5997#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,254 INFO L290 TraceCheckUtils]: 58: Hoare triple {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,255 INFO L290 TraceCheckUtils]: 59: Hoare triple {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,255 INFO L290 TraceCheckUtils]: 60: Hoare triple {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,256 INFO L290 TraceCheckUtils]: 61: Hoare triple {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:39:56,256 INFO L290 TraceCheckUtils]: 62: Hoare triple {5998#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:56,257 INFO L290 TraceCheckUtils]: 63: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:56,258 INFO L290 TraceCheckUtils]: 64: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6000#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:56,258 INFO L290 TraceCheckUtils]: 65: Hoare triple {6000#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {5986#false} is VALID [2022-02-20 23:39:56,259 INFO L134 CoverageAnalysis]: Checked inductivity of 141 backedges. 32 proven. 109 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:56,259 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:39:56,259 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1554086814] [2022-02-20 23:39:56,259 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1554086814] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:39:56,259 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1055620866] [2022-02-20 23:39:56,259 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:39:56,259 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:39:56,259 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:39:56,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:39:56,292 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:39:56,374 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:39:56,374 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:39:56,375 INFO L263 TraceCheckSpWp]: Trace formula consists of 285 conjuncts, 34 conjunts are in the unsatisfiable core [2022-02-20 23:39:56,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:39:56,394 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:39:57,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {5985#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5985#true} is VALID [2022-02-20 23:39:57,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {5985#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {5985#true} is VALID [2022-02-20 23:39:57,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {5985#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {5985#true} is VALID [2022-02-20 23:39:57,169 INFO L290 TraceCheckUtils]: 3: Hoare triple {5985#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5985#true} is VALID [2022-02-20 23:39:57,170 INFO L290 TraceCheckUtils]: 4: Hoare triple {5985#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {6016#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {6016#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6016#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,171 INFO L290 TraceCheckUtils]: 6: Hoare triple {6016#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6016#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {6016#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {6016#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {6016#(and (<= 0 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6029#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:57,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {6029#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6029#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:57,174 INFO L290 TraceCheckUtils]: 10: Hoare triple {6029#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6029#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:57,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {6029#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {6029#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:57,175 INFO L290 TraceCheckUtils]: 12: Hoare triple {6029#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6042#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {6042#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6042#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {6042#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6042#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,176 INFO L290 TraceCheckUtils]: 15: Hoare triple {6042#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {6042#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {6042#(and (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6055#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:57,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {6055#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6055#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:57,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {6055#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6055#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:57,179 INFO L290 TraceCheckUtils]: 19: Hoare triple {6055#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {6055#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:39:57,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {6055#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (<= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6068#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,180 INFO L290 TraceCheckUtils]: 21: Hoare triple {6068#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6068#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {6068#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6068#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {6068#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {6068#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,181 INFO L290 TraceCheckUtils]: 24: Hoare triple {6068#(and (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6081#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,182 INFO L290 TraceCheckUtils]: 25: Hoare triple {6081#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6081#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:39:57,183 INFO L290 TraceCheckUtils]: 26: Hoare triple {6081#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6088#(<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:57,183 INFO L290 TraceCheckUtils]: 27: Hoare triple {6088#(<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} havoc main_#t~nondet5#1; {6088#(<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:57,184 INFO L290 TraceCheckUtils]: 28: Hoare triple {6088#(<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6088#(<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:57,184 INFO L290 TraceCheckUtils]: 29: Hoare triple {6088#(<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} assume !(main_~k~0#1 < main_~length~0#1); {6088#(<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} is VALID [2022-02-20 23:39:57,185 INFO L290 TraceCheckUtils]: 30: Hoare triple {6088#(<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:57,185 INFO L290 TraceCheckUtils]: 31: Hoare triple {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:57,186 INFO L290 TraceCheckUtils]: 32: Hoare triple {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:57,187 INFO L290 TraceCheckUtils]: 33: Hoare triple {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:57,187 INFO L290 TraceCheckUtils]: 34: Hoare triple {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:57,188 INFO L290 TraceCheckUtils]: 35: Hoare triple {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} is VALID [2022-02-20 23:39:57,189 INFO L290 TraceCheckUtils]: 36: Hoare triple {6101#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) (- 4)) 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:57,189 INFO L290 TraceCheckUtils]: 37: Hoare triple {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:57,190 INFO L290 TraceCheckUtils]: 38: Hoare triple {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:57,190 INFO L290 TraceCheckUtils]: 39: Hoare triple {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:57,191 INFO L290 TraceCheckUtils]: 40: Hoare triple {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:57,192 INFO L290 TraceCheckUtils]: 41: Hoare triple {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:57,192 INFO L290 TraceCheckUtils]: 42: Hoare triple {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} is VALID [2022-02-20 23:39:57,193 INFO L290 TraceCheckUtils]: 43: Hoare triple {6120#(and (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|)) 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,194 INFO L290 TraceCheckUtils]: 44: Hoare triple {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,194 INFO L290 TraceCheckUtils]: 45: Hoare triple {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,195 INFO L290 TraceCheckUtils]: 46: Hoare triple {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,195 INFO L290 TraceCheckUtils]: 47: Hoare triple {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,196 INFO L290 TraceCheckUtils]: 48: Hoare triple {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,196 INFO L290 TraceCheckUtils]: 49: Hoare triple {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,197 INFO L290 TraceCheckUtils]: 50: Hoare triple {6142#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 4) 4)) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,198 INFO L290 TraceCheckUtils]: 51: Hoare triple {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,198 INFO L290 TraceCheckUtils]: 52: Hoare triple {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,199 INFO L290 TraceCheckUtils]: 53: Hoare triple {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,200 INFO L290 TraceCheckUtils]: 54: Hoare triple {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,200 INFO L290 TraceCheckUtils]: 55: Hoare triple {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,201 INFO L290 TraceCheckUtils]: 56: Hoare triple {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:39:57,202 INFO L290 TraceCheckUtils]: 57: Hoare triple {6164#(and (<= 5 (div (+ (select |#length| |ULTIMATE.start_main_~a~0#1.base|) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) 8) 4)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:57,202 INFO L290 TraceCheckUtils]: 58: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:57,203 INFO L290 TraceCheckUtils]: 59: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:57,203 INFO L290 TraceCheckUtils]: 60: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:57,204 INFO L290 TraceCheckUtils]: 61: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:57,204 INFO L290 TraceCheckUtils]: 62: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:57,205 INFO L290 TraceCheckUtils]: 63: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:57,206 INFO L290 TraceCheckUtils]: 64: Hoare triple {5999#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6000#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:57,206 INFO L290 TraceCheckUtils]: 65: Hoare triple {6000#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {5986#false} is VALID [2022-02-20 23:39:57,207 INFO L134 CoverageAnalysis]: Checked inductivity of 141 backedges. 50 proven. 91 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:57,207 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:39:57,691 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:39:57,691 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 19 treesize of output 23 [2022-02-20 23:39:58,567 INFO L290 TraceCheckUtils]: 65: Hoare triple {6210#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {5986#false} is VALID [2022-02-20 23:39:58,568 INFO L290 TraceCheckUtils]: 64: Hoare triple {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6210#(and (<= 0 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,568 INFO L290 TraceCheckUtils]: 63: Hoare triple {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:58,569 INFO L290 TraceCheckUtils]: 62: Hoare triple {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:58,569 INFO L290 TraceCheckUtils]: 61: Hoare triple {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:58,570 INFO L290 TraceCheckUtils]: 60: Hoare triple {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:58,570 INFO L290 TraceCheckUtils]: 59: Hoare triple {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:58,571 INFO L290 TraceCheckUtils]: 58: Hoare triple {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:58,576 INFO L290 TraceCheckUtils]: 57: Hoare triple {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6214#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 4)))} is VALID [2022-02-20 23:39:58,576 INFO L290 TraceCheckUtils]: 56: Hoare triple {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:58,577 INFO L290 TraceCheckUtils]: 55: Hoare triple {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:58,578 INFO L290 TraceCheckUtils]: 54: Hoare triple {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:58,578 INFO L290 TraceCheckUtils]: 53: Hoare triple {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:58,579 INFO L290 TraceCheckUtils]: 52: Hoare triple {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:58,579 INFO L290 TraceCheckUtils]: 51: Hoare triple {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:58,580 INFO L290 TraceCheckUtils]: 50: Hoare triple {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6236#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 8)))} is VALID [2022-02-20 23:39:58,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:58,581 INFO L290 TraceCheckUtils]: 48: Hoare triple {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:58,582 INFO L290 TraceCheckUtils]: 47: Hoare triple {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:58,582 INFO L290 TraceCheckUtils]: 46: Hoare triple {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:58,583 INFO L290 TraceCheckUtils]: 45: Hoare triple {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:58,584 INFO L290 TraceCheckUtils]: 44: Hoare triple {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:58,585 INFO L290 TraceCheckUtils]: 43: Hoare triple {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6258#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:39:58,585 INFO L290 TraceCheckUtils]: 42: Hoare triple {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:58,586 INFO L290 TraceCheckUtils]: 41: Hoare triple {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:58,587 INFO L290 TraceCheckUtils]: 40: Hoare triple {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:58,587 INFO L290 TraceCheckUtils]: 39: Hoare triple {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:58,588 INFO L290 TraceCheckUtils]: 38: Hoare triple {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:58,588 INFO L290 TraceCheckUtils]: 37: Hoare triple {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:58,589 INFO L290 TraceCheckUtils]: 36: Hoare triple {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6280#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 16)))} is VALID [2022-02-20 23:39:58,589 INFO L290 TraceCheckUtils]: 35: Hoare triple {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,590 INFO L290 TraceCheckUtils]: 34: Hoare triple {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,590 INFO L290 TraceCheckUtils]: 33: Hoare triple {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,591 INFO L290 TraceCheckUtils]: 31: Hoare triple {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,592 INFO L290 TraceCheckUtils]: 30: Hoare triple {6321#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6302#(and (<= 0 (+ |ULTIMATE.start_main_~a~0#1.offset| 20)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,592 INFO L290 TraceCheckUtils]: 29: Hoare triple {6321#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} assume !(main_~k~0#1 < main_~length~0#1); {6321#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,592 INFO L290 TraceCheckUtils]: 28: Hoare triple {6321#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6321#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,593 INFO L290 TraceCheckUtils]: 27: Hoare triple {6321#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~nondet5#1; {6321#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,593 INFO L290 TraceCheckUtils]: 26: Hoare triple {6334#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6321#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:39:58,594 INFO L290 TraceCheckUtils]: 25: Hoare triple {6334#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6334#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {6341#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6334#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,596 INFO L290 TraceCheckUtils]: 23: Hoare triple {6341#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} havoc main_#t~nondet5#1; {6341#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:58,597 INFO L290 TraceCheckUtils]: 22: Hoare triple {6341#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6341#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:58,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {6341#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6341#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:58,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {6354#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6341#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:39:58,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {6354#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} havoc main_#t~nondet5#1; {6354#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:39:58,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {6354#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6354#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:39:58,605 INFO L290 TraceCheckUtils]: 17: Hoare triple {6354#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6354#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:39:58,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {6367#(or (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6354#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:39:58,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {6367#(or (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {6367#(or (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {6367#(or (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6367#(or (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,608 INFO L290 TraceCheckUtils]: 13: Hoare triple {6367#(or (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6367#(or (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {6380#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6367#(or (and (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|)) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {6380#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} havoc main_#t~nondet5#1; {6380#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:58,610 INFO L290 TraceCheckUtils]: 10: Hoare triple {6380#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6380#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:58,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {6380#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6380#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:58,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {6393#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6380#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4))))} is VALID [2022-02-20 23:39:58,613 INFO L290 TraceCheckUtils]: 7: Hoare triple {6393#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {6393#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,613 INFO L290 TraceCheckUtils]: 6: Hoare triple {6393#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6393#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,614 INFO L290 TraceCheckUtils]: 5: Hoare triple {6393#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6393#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,615 INFO L290 TraceCheckUtils]: 4: Hoare triple {5985#true} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {6393#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (- 20) (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset|) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:39:58,615 INFO L290 TraceCheckUtils]: 3: Hoare triple {5985#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {5985#true} is VALID [2022-02-20 23:39:58,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {5985#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {5985#true} is VALID [2022-02-20 23:39:58,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {5985#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {5985#true} is VALID [2022-02-20 23:39:58,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {5985#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5985#true} is VALID [2022-02-20 23:39:58,616 INFO L134 CoverageAnalysis]: Checked inductivity of 141 backedges. 50 proven. 91 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:39:58,616 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1055620866] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:39:58,616 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:39:58,616 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 14] total 39 [2022-02-20 23:39:58,617 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1140751711] [2022-02-20 23:39:58,617 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:39:58,619 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 39 states have (on average 4.82051282051282) internal successors, (188), 40 states have internal predecessors, (188), 0 states have call successors, (0), 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 66 [2022-02-20 23:39:58,620 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:39:58,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 40 states, 39 states have (on average 4.82051282051282) internal successors, (188), 40 states have internal predecessors, (188), 0 states have call successors, (0), 0 states have 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:39:58,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 188 edges. 188 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:39:58,783 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 40 states [2022-02-20 23:39:58,783 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:39:58,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2022-02-20 23:39:58,784 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=244, Invalid=1316, Unknown=0, NotChecked=0, Total=1560 [2022-02-20 23:39:58,784 INFO L87 Difference]: Start difference. First operand 67 states and 68 transitions. Second operand has 40 states, 39 states have (on average 4.82051282051282) internal successors, (188), 40 states have internal predecessors, (188), 0 states have call successors, (0), 0 states have 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:40:00,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:00,692 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2022-02-20 23:40:00,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-20 23:40:00,693 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 39 states have (on average 4.82051282051282) internal successors, (188), 40 states have internal predecessors, (188), 0 states have call successors, (0), 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 66 [2022-02-20 23:40:00,693 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:00,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 39 states have (on average 4.82051282051282) internal successors, (188), 40 states have internal predecessors, (188), 0 states have call successors, (0), 0 states have 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:40:00,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 83 transitions. [2022-02-20 23:40:00,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 39 states have (on average 4.82051282051282) internal successors, (188), 40 states have internal predecessors, (188), 0 states have call successors, (0), 0 states have 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:40:00,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 83 transitions. [2022-02-20 23:40:00,695 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 83 transitions. [2022-02-20 23:40:00,766 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:00,766 INFO L225 Difference]: With dead ends: 81 [2022-02-20 23:40:00,766 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 23:40:00,767 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 106 SyntacticMatches, 1 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 942 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=554, Invalid=2638, Unknown=0, NotChecked=0, Total=3192 [2022-02-20 23:40:00,768 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 217 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 770 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 217 SdHoareTripleChecker+Valid, 188 SdHoareTripleChecker+Invalid, 807 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 770 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:00,768 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [217 Valid, 188 Invalid, 807 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 770 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 23:40:00,768 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 23:40:00,770 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 74. [2022-02-20 23:40:00,770 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:00,771 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 74 states, 73 states have (on average 1.0273972602739727) internal successors, (75), 73 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:40:00,771 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 74 states, 73 states have (on average 1.0273972602739727) internal successors, (75), 73 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:40:00,771 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 74 states, 73 states have (on average 1.0273972602739727) internal successors, (75), 73 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:40:00,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:00,772 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2022-02-20 23:40:00,772 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2022-02-20 23:40:00,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:00,773 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:00,773 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 73 states have (on average 1.0273972602739727) internal successors, (75), 73 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) Second operand 81 states. [2022-02-20 23:40:00,773 INFO L87 Difference]: Start difference. First operand has 74 states, 73 states have (on average 1.0273972602739727) internal successors, (75), 73 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) Second operand 81 states. [2022-02-20 23:40:00,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:00,774 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2022-02-20 23:40:00,774 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2022-02-20 23:40:00,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:00,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:00,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:00,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:00,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 73 states have (on average 1.0273972602739727) internal successors, (75), 73 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:40:00,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 75 transitions. [2022-02-20 23:40:00,776 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 75 transitions. Word has length 66 [2022-02-20 23:40:00,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:00,777 INFO L470 AbstractCegarLoop]: Abstraction has 74 states and 75 transitions. [2022-02-20 23:40:00,777 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 40 states, 39 states have (on average 4.82051282051282) internal successors, (188), 40 states have internal predecessors, (188), 0 states have call successors, (0), 0 states have 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:40:00,777 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 75 transitions. [2022-02-20 23:40:00,777 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-02-20 23:40:00,778 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:00,778 INFO L514 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:00,796 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-02-20 23:40:00,987 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:00,987 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:00,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:00,988 INFO L85 PathProgramCache]: Analyzing trace with hash -399180052, now seen corresponding path program 11 times [2022-02-20 23:40:00,988 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:00,988 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [239027903] [2022-02-20 23:40:00,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:00,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:01,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:01,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {6768#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6768#true} is VALID [2022-02-20 23:40:01,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {6768#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {6768#true} is VALID [2022-02-20 23:40:01,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {6768#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {6768#true} is VALID [2022-02-20 23:40:01,489 INFO L290 TraceCheckUtils]: 3: Hoare triple {6768#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {6770#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:40:01,490 INFO L290 TraceCheckUtils]: 4: Hoare triple {6770#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {6771#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:40:01,490 INFO L290 TraceCheckUtils]: 5: Hoare triple {6771#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6771#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:40:01,491 INFO L290 TraceCheckUtils]: 6: Hoare triple {6771#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6771#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:40:01,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {6771#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {6771#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:40:01,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {6771#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6772#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:01,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {6772#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6772#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:01,493 INFO L290 TraceCheckUtils]: 10: Hoare triple {6772#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6772#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:01,493 INFO L290 TraceCheckUtils]: 11: Hoare triple {6772#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {6772#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:01,494 INFO L290 TraceCheckUtils]: 12: Hoare triple {6772#(and (<= |ULTIMATE.start_main_~k~0#1| 1) (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6773#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,494 INFO L290 TraceCheckUtils]: 13: Hoare triple {6773#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6773#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {6773#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6773#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {6773#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {6773#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,495 INFO L290 TraceCheckUtils]: 16: Hoare triple {6773#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 2) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6774#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:01,496 INFO L290 TraceCheckUtils]: 17: Hoare triple {6774#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6774#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:01,496 INFO L290 TraceCheckUtils]: 18: Hoare triple {6774#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6774#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:01,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {6774#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {6774#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:01,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {6774#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 3) (<= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6775#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,498 INFO L290 TraceCheckUtils]: 21: Hoare triple {6775#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6775#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,498 INFO L290 TraceCheckUtils]: 22: Hoare triple {6775#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6775#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,499 INFO L290 TraceCheckUtils]: 23: Hoare triple {6775#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {6775#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,499 INFO L290 TraceCheckUtils]: 24: Hoare triple {6775#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~k~0#1| 4) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6776#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= |ULTIMATE.start_main_~k~0#1| 5) (<= 5 |ULTIMATE.start_main_~k~0#1|))))} is VALID [2022-02-20 23:40:01,500 INFO L290 TraceCheckUtils]: 25: Hoare triple {6776#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= |ULTIMATE.start_main_~k~0#1| 5) (<= 5 |ULTIMATE.start_main_~k~0#1|))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6777#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= |ULTIMATE.start_main_~k~0#1| 5) (<= 5 |ULTIMATE.start_main_~k~0#1|))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:40:01,501 INFO L290 TraceCheckUtils]: 26: Hoare triple {6777#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= |ULTIMATE.start_main_~k~0#1| 5) (<= 5 |ULTIMATE.start_main_~k~0#1|))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6777#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= |ULTIMATE.start_main_~k~0#1| 5) (<= 5 |ULTIMATE.start_main_~k~0#1|))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:40:01,501 INFO L290 TraceCheckUtils]: 27: Hoare triple {6777#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= |ULTIMATE.start_main_~k~0#1| 5) (<= 5 |ULTIMATE.start_main_~k~0#1|))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} havoc main_#t~nondet5#1; {6777#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= |ULTIMATE.start_main_~k~0#1| 5) (<= 5 |ULTIMATE.start_main_~k~0#1|))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:40:01,502 INFO L290 TraceCheckUtils]: 28: Hoare triple {6777#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (not (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|))) (and (<= |ULTIMATE.start_main_~k~0#1| 5) (<= 5 |ULTIMATE.start_main_~k~0#1|))) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ (* |ULTIMATE.start_main_~k~0#1| 4) |ULTIMATE.start_main_~arr~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6778#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} is VALID [2022-02-20 23:40:01,502 INFO L290 TraceCheckUtils]: 29: Hoare triple {6778#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (or (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (<= (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|)))} assume !(main_~k~0#1 < main_~length~0#1); {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,503 INFO L290 TraceCheckUtils]: 30: Hoare triple {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,503 INFO L290 TraceCheckUtils]: 31: Hoare triple {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,504 INFO L290 TraceCheckUtils]: 32: Hoare triple {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,504 INFO L290 TraceCheckUtils]: 33: Hoare triple {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,505 INFO L290 TraceCheckUtils]: 34: Hoare triple {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,505 INFO L290 TraceCheckUtils]: 35: Hoare triple {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,506 INFO L290 TraceCheckUtils]: 36: Hoare triple {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,506 INFO L290 TraceCheckUtils]: 37: Hoare triple {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,507 INFO L290 TraceCheckUtils]: 38: Hoare triple {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,507 INFO L290 TraceCheckUtils]: 39: Hoare triple {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,508 INFO L290 TraceCheckUtils]: 40: Hoare triple {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,508 INFO L290 TraceCheckUtils]: 41: Hoare triple {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,509 INFO L290 TraceCheckUtils]: 43: Hoare triple {6780#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,510 INFO L290 TraceCheckUtils]: 44: Hoare triple {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,510 INFO L290 TraceCheckUtils]: 45: Hoare triple {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,511 INFO L290 TraceCheckUtils]: 46: Hoare triple {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,511 INFO L290 TraceCheckUtils]: 47: Hoare triple {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,512 INFO L290 TraceCheckUtils]: 48: Hoare triple {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,512 INFO L290 TraceCheckUtils]: 49: Hoare triple {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:01,513 INFO L290 TraceCheckUtils]: 50: Hoare triple {6781#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,513 INFO L290 TraceCheckUtils]: 51: Hoare triple {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,514 INFO L290 TraceCheckUtils]: 52: Hoare triple {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,514 INFO L290 TraceCheckUtils]: 53: Hoare triple {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,514 INFO L290 TraceCheckUtils]: 54: Hoare triple {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,515 INFO L290 TraceCheckUtils]: 55: Hoare triple {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,515 INFO L290 TraceCheckUtils]: 56: Hoare triple {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,516 INFO L290 TraceCheckUtils]: 57: Hoare triple {6782#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,516 INFO L290 TraceCheckUtils]: 58: Hoare triple {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,517 INFO L290 TraceCheckUtils]: 59: Hoare triple {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,517 INFO L290 TraceCheckUtils]: 60: Hoare triple {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,518 INFO L290 TraceCheckUtils]: 61: Hoare triple {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,518 INFO L290 TraceCheckUtils]: 62: Hoare triple {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,519 INFO L290 TraceCheckUtils]: 63: Hoare triple {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,519 INFO L290 TraceCheckUtils]: 64: Hoare triple {6783#(and (= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6784#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,520 INFO L290 TraceCheckUtils]: 65: Hoare triple {6784#(and (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6785#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,521 INFO L290 TraceCheckUtils]: 66: Hoare triple {6785#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6786#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:01,521 INFO L290 TraceCheckUtils]: 67: Hoare triple {6786#(and (= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|) (= |ULTIMATE.start_main_~a~0#1.offset| (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6769#false} is VALID [2022-02-20 23:40:01,521 INFO L290 TraceCheckUtils]: 68: Hoare triple {6769#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6769#false} is VALID [2022-02-20 23:40:01,521 INFO L290 TraceCheckUtils]: 69: Hoare triple {6769#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6769#false} is VALID [2022-02-20 23:40:01,521 INFO L290 TraceCheckUtils]: 70: Hoare triple {6769#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6769#false} is VALID [2022-02-20 23:40:01,521 INFO L290 TraceCheckUtils]: 71: Hoare triple {6769#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6769#false} is VALID [2022-02-20 23:40:01,521 INFO L290 TraceCheckUtils]: 72: Hoare triple {6769#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {6769#false} is VALID [2022-02-20 23:40:01,522 INFO L134 CoverageAnalysis]: Checked inductivity of 177 backedges. 26 proven. 151 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:01,522 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:01,522 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [239027903] [2022-02-20 23:40:01,522 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [239027903] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:40:01,522 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1803819329] [2022-02-20 23:40:01,522 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 23:40:01,522 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:01,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:40:01,523 INFO L229 MonitoredProcess]: Starting monitored process 14 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:40:01,524 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-02-20 23:40:01,667 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2022-02-20 23:40:01,667 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:40:01,669 INFO L263 TraceCheckSpWp]: Trace formula consists of 345 conjuncts, 46 conjunts are in the unsatisfiable core [2022-02-20 23:40:01,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:01,687 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:40:02,877 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:40:02,898 INFO L290 TraceCheckUtils]: 0: Hoare triple {6768#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6768#true} is VALID [2022-02-20 23:40:02,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {6768#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {6768#true} is VALID [2022-02-20 23:40:02,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {6768#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {6768#true} is VALID [2022-02-20 23:40:02,898 INFO L290 TraceCheckUtils]: 3: Hoare triple {6768#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {6799#(<= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:40:02,899 INFO L290 TraceCheckUtils]: 4: Hoare triple {6799#(<= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {6803#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {6803#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6803#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {6803#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6803#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,900 INFO L290 TraceCheckUtils]: 7: Hoare triple {6803#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {6803#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,900 INFO L290 TraceCheckUtils]: 8: Hoare triple {6803#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~k~0#1| 0) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6816#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,901 INFO L290 TraceCheckUtils]: 9: Hoare triple {6816#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6816#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,901 INFO L290 TraceCheckUtils]: 10: Hoare triple {6816#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6816#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,902 INFO L290 TraceCheckUtils]: 11: Hoare triple {6816#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {6816#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,902 INFO L290 TraceCheckUtils]: 12: Hoare triple {6816#(and (= |ULTIMATE.start_main_~k~0#1| 1) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6829#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:02,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {6829#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6829#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:02,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {6829#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6829#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:02,903 INFO L290 TraceCheckUtils]: 15: Hoare triple {6829#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {6829#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:02,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {6829#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 2 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6842#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:02,904 INFO L290 TraceCheckUtils]: 17: Hoare triple {6842#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6842#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:02,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {6842#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6842#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:02,905 INFO L290 TraceCheckUtils]: 19: Hoare triple {6842#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {6842#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:02,905 INFO L290 TraceCheckUtils]: 20: Hoare triple {6842#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|) (= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6855#(and (= |ULTIMATE.start_main_~k~0#1| 4) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,906 INFO L290 TraceCheckUtils]: 21: Hoare triple {6855#(and (= |ULTIMATE.start_main_~k~0#1| 4) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6855#(and (= |ULTIMATE.start_main_~k~0#1| 4) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,906 INFO L290 TraceCheckUtils]: 22: Hoare triple {6855#(and (= |ULTIMATE.start_main_~k~0#1| 4) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6855#(and (= |ULTIMATE.start_main_~k~0#1| 4) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,907 INFO L290 TraceCheckUtils]: 23: Hoare triple {6855#(and (= |ULTIMATE.start_main_~k~0#1| 4) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {6855#(and (= |ULTIMATE.start_main_~k~0#1| 4) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,907 INFO L290 TraceCheckUtils]: 24: Hoare triple {6855#(and (= |ULTIMATE.start_main_~k~0#1| 4) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6868#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,908 INFO L290 TraceCheckUtils]: 25: Hoare triple {6868#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {6872#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,908 INFO L290 TraceCheckUtils]: 26: Hoare triple {6872#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {6872#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,909 INFO L290 TraceCheckUtils]: 27: Hoare triple {6872#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} havoc main_#t~nondet5#1; {6872#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,909 INFO L290 TraceCheckUtils]: 28: Hoare triple {6872#(and (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= 5 |ULTIMATE.start_main_~k~0#1|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6882#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,909 INFO L290 TraceCheckUtils]: 29: Hoare triple {6882#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~k~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !(main_~k~0#1 < main_~length~0#1); {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,911 INFO L290 TraceCheckUtils]: 32: Hoare triple {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,911 INFO L290 TraceCheckUtils]: 33: Hoare triple {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,912 INFO L290 TraceCheckUtils]: 34: Hoare triple {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} is VALID [2022-02-20 23:40:02,912 INFO L290 TraceCheckUtils]: 35: Hoare triple {6886#(and (< 5 |ULTIMATE.start_main_~length~0#1|) (<= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= |ULTIMATE.start_main_~length~0#1| 6) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:02,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {6779#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:40:02,913 INFO L290 TraceCheckUtils]: 37: Hoare triple {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:40:02,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:40:02,914 INFO L290 TraceCheckUtils]: 39: Hoare triple {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:40:02,915 INFO L290 TraceCheckUtils]: 40: Hoare triple {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:40:02,915 INFO L290 TraceCheckUtils]: 41: Hoare triple {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:40:02,916 INFO L290 TraceCheckUtils]: 42: Hoare triple {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} is VALID [2022-02-20 23:40:02,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {6908#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.offset| 4))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:02,917 INFO L290 TraceCheckUtils]: 44: Hoare triple {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:02,917 INFO L290 TraceCheckUtils]: 45: Hoare triple {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:02,918 INFO L290 TraceCheckUtils]: 46: Hoare triple {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:02,918 INFO L290 TraceCheckUtils]: 47: Hoare triple {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:02,919 INFO L290 TraceCheckUtils]: 48: Hoare triple {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:02,919 INFO L290 TraceCheckUtils]: 49: Hoare triple {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:02,920 INFO L290 TraceCheckUtils]: 50: Hoare triple {6930#(and (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 4))) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:40:02,920 INFO L290 TraceCheckUtils]: 51: Hoare triple {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:40:02,921 INFO L290 TraceCheckUtils]: 52: Hoare triple {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:40:02,921 INFO L290 TraceCheckUtils]: 53: Hoare triple {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:40:02,922 INFO L290 TraceCheckUtils]: 54: Hoare triple {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:40:02,922 INFO L290 TraceCheckUtils]: 55: Hoare triple {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:40:02,923 INFO L290 TraceCheckUtils]: 56: Hoare triple {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} is VALID [2022-02-20 23:40:02,923 INFO L290 TraceCheckUtils]: 57: Hoare triple {6952#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= 4 (+ |ULTIMATE.start_main_~a~0#1.offset| (- 8))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} is VALID [2022-02-20 23:40:02,923 INFO L290 TraceCheckUtils]: 58: Hoare triple {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} is VALID [2022-02-20 23:40:02,924 INFO L290 TraceCheckUtils]: 59: Hoare triple {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} is VALID [2022-02-20 23:40:02,924 INFO L290 TraceCheckUtils]: 60: Hoare triple {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} is VALID [2022-02-20 23:40:02,925 INFO L290 TraceCheckUtils]: 61: Hoare triple {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} is VALID [2022-02-20 23:40:02,925 INFO L290 TraceCheckUtils]: 62: Hoare triple {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} is VALID [2022-02-20 23:40:02,926 INFO L290 TraceCheckUtils]: 63: Hoare triple {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} is VALID [2022-02-20 23:40:02,927 INFO L290 TraceCheckUtils]: 64: Hoare triple {6974#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 12)) 4))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6996#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 16)) 4))} is VALID [2022-02-20 23:40:02,927 INFO L290 TraceCheckUtils]: 65: Hoare triple {6996#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~a~0#1.offset| (- 16)) 4))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7000#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) 20)))} is VALID [2022-02-20 23:40:02,928 INFO L290 TraceCheckUtils]: 66: Hoare triple {7000#(and (= (+ |ULTIMATE.start_main_~arr~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_#t~mem6#1| (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) 20)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7004#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:40:02,928 INFO L290 TraceCheckUtils]: 67: Hoare triple {7004#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6769#false} is VALID [2022-02-20 23:40:02,928 INFO L290 TraceCheckUtils]: 68: Hoare triple {6769#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6769#false} is VALID [2022-02-20 23:40:02,928 INFO L290 TraceCheckUtils]: 69: Hoare triple {6769#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6769#false} is VALID [2022-02-20 23:40:02,928 INFO L290 TraceCheckUtils]: 70: Hoare triple {6769#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6769#false} is VALID [2022-02-20 23:40:02,929 INFO L290 TraceCheckUtils]: 71: Hoare triple {6769#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6769#false} is VALID [2022-02-20 23:40:02,929 INFO L290 TraceCheckUtils]: 72: Hoare triple {6769#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {6769#false} is VALID [2022-02-20 23:40:02,929 INFO L134 CoverageAnalysis]: Checked inductivity of 177 backedges. 26 proven. 151 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:02,929 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:40:02,968 INFO L356 Elim1Store]: treesize reduction 3, result has 81.3 percent of original size [2022-02-20 23:40:02,969 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 16 treesize of output 17 [2022-02-20 23:40:04,234 INFO L290 TraceCheckUtils]: 72: Hoare triple {6769#false} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {6769#false} is VALID [2022-02-20 23:40:04,235 INFO L290 TraceCheckUtils]: 71: Hoare triple {6769#false} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {6769#false} is VALID [2022-02-20 23:40:04,235 INFO L290 TraceCheckUtils]: 70: Hoare triple {6769#false} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {6769#false} is VALID [2022-02-20 23:40:04,235 INFO L290 TraceCheckUtils]: 69: Hoare triple {6769#false} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {6769#false} is VALID [2022-02-20 23:40:04,235 INFO L290 TraceCheckUtils]: 68: Hoare triple {6769#false} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {6769#false} is VALID [2022-02-20 23:40:04,236 INFO L290 TraceCheckUtils]: 67: Hoare triple {7004#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {6769#false} is VALID [2022-02-20 23:40:04,236 INFO L290 TraceCheckUtils]: 66: Hoare triple {7041#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7004#(= |ULTIMATE.start_main_#t~mem7#1| |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:40:04,237 INFO L290 TraceCheckUtils]: 65: Hoare triple {7045#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7041#(= (select (select |#memory_int| |ULTIMATE.start_main_~arr~0#1.base|) (+ |ULTIMATE.start_main_~arr~0#1.offset| (- 4) (* |ULTIMATE.start_main_~length~0#1| 4))) |ULTIMATE.start_main_#t~mem6#1|)} is VALID [2022-02-20 23:40:04,238 INFO L290 TraceCheckUtils]: 64: Hoare triple {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7045#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,239 INFO L290 TraceCheckUtils]: 63: Hoare triple {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,239 INFO L290 TraceCheckUtils]: 62: Hoare triple {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,240 INFO L290 TraceCheckUtils]: 61: Hoare triple {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,241 INFO L290 TraceCheckUtils]: 60: Hoare triple {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,241 INFO L290 TraceCheckUtils]: 59: Hoare triple {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,242 INFO L290 TraceCheckUtils]: 58: Hoare triple {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,243 INFO L290 TraceCheckUtils]: 57: Hoare triple {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7049#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,243 INFO L290 TraceCheckUtils]: 56: Hoare triple {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:40:04,244 INFO L290 TraceCheckUtils]: 55: Hoare triple {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:40:04,245 INFO L290 TraceCheckUtils]: 54: Hoare triple {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:40:04,245 INFO L290 TraceCheckUtils]: 53: Hoare triple {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:40:04,246 INFO L290 TraceCheckUtils]: 52: Hoare triple {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:40:04,246 INFO L290 TraceCheckUtils]: 51: Hoare triple {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:40:04,247 INFO L290 TraceCheckUtils]: 50: Hoare triple {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7071#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)) (+ |ULTIMATE.start_main_~a~0#1.offset| 12)))} is VALID [2022-02-20 23:40:04,248 INFO L290 TraceCheckUtils]: 49: Hoare triple {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,249 INFO L290 TraceCheckUtils]: 48: Hoare triple {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,249 INFO L290 TraceCheckUtils]: 47: Hoare triple {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,250 INFO L290 TraceCheckUtils]: 46: Hoare triple {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,251 INFO L290 TraceCheckUtils]: 45: Hoare triple {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,251 INFO L290 TraceCheckUtils]: 44: Hoare triple {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7093#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 16) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,253 INFO L290 TraceCheckUtils]: 42: Hoare triple {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,253 INFO L290 TraceCheckUtils]: 41: Hoare triple {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,254 INFO L290 TraceCheckUtils]: 40: Hoare triple {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,255 INFO L290 TraceCheckUtils]: 38: Hoare triple {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,256 INFO L290 TraceCheckUtils]: 37: Hoare triple {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,257 INFO L290 TraceCheckUtils]: 36: Hoare triple {7137#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7115#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 20) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,257 INFO L290 TraceCheckUtils]: 35: Hoare triple {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7137#(and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4))))} is VALID [2022-02-20 23:40:04,258 INFO L290 TraceCheckUtils]: 34: Hoare triple {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,259 INFO L290 TraceCheckUtils]: 33: Hoare triple {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,260 INFO L290 TraceCheckUtils]: 32: Hoare triple {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,262 INFO L290 TraceCheckUtils]: 30: Hoare triple {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,262 INFO L290 TraceCheckUtils]: 29: Hoare triple {7160#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !(main_~k~0#1 < main_~length~0#1); {7141#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,263 INFO L290 TraceCheckUtils]: 28: Hoare triple {7164#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7160#(or (< |ULTIMATE.start_main_~k~0#1| |ULTIMATE.start_main_~length~0#1|) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,264 INFO L290 TraceCheckUtils]: 27: Hoare triple {7164#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} havoc main_#t~nondet5#1; {7164#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:40:04,265 INFO L290 TraceCheckUtils]: 26: Hoare triple {7164#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7164#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:40:04,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {7174#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7164#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= (+ |ULTIMATE.start_main_~a~0#1.offset| 24) (+ |ULTIMATE.start_main_~arr~0#1.offset| (* |ULTIMATE.start_main_~length~0#1| 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (< (+ |ULTIMATE.start_main_~k~0#1| 1) |ULTIMATE.start_main_~length~0#1|))} is VALID [2022-02-20 23:40:04,267 INFO L290 TraceCheckUtils]: 24: Hoare triple {7178#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7174#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 1)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 2 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} is VALID [2022-02-20 23:40:04,268 INFO L290 TraceCheckUtils]: 23: Hoare triple {7178#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} havoc main_#t~nondet5#1; {7178#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} is VALID [2022-02-20 23:40:04,269 INFO L290 TraceCheckUtils]: 22: Hoare triple {7178#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7178#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} is VALID [2022-02-20 23:40:04,270 INFO L290 TraceCheckUtils]: 21: Hoare triple {7178#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7178#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} is VALID [2022-02-20 23:40:04,271 INFO L290 TraceCheckUtils]: 20: Hoare triple {7191#(or (and (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7178#(or (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)) (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 2 |ULTIMATE.start_main_~k~0#1|)) (<= (+ 3 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))))} is VALID [2022-02-20 23:40:04,272 INFO L290 TraceCheckUtils]: 19: Hoare triple {7191#(or (and (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {7191#(or (and (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {7191#(or (and (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7191#(or (and (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,274 INFO L290 TraceCheckUtils]: 17: Hoare triple {7191#(or (and (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7191#(or (and (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {7204#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)) (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7191#(or (and (<= (+ |ULTIMATE.start_main_~k~0#1| 4) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 3 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,276 INFO L290 TraceCheckUtils]: 15: Hoare triple {7204#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)) (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {7204#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)) (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,276 INFO L290 TraceCheckUtils]: 14: Hoare triple {7204#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)) (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7204#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)) (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {7204#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)) (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7204#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)) (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,278 INFO L290 TraceCheckUtils]: 12: Hoare triple {7217#(or (and (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7204#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ |ULTIMATE.start_main_~k~0#1| 4)) (<= (+ 5 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4)))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,278 INFO L290 TraceCheckUtils]: 11: Hoare triple {7217#(or (and (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {7217#(or (and (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,279 INFO L290 TraceCheckUtils]: 10: Hoare triple {7217#(or (and (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7217#(or (and (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {7217#(or (and (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7217#(or (and (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {7230#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 7 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 6 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7217#(or (and (<= (+ 6 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 5 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,281 INFO L290 TraceCheckUtils]: 7: Hoare triple {7230#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 7 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 6 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} havoc main_#t~nondet5#1; {7230#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 7 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 6 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,282 INFO L290 TraceCheckUtils]: 6: Hoare triple {7230#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 7 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 6 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7230#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 7 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 6 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {7230#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 7 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 6 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7230#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 7 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 6 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,283 INFO L290 TraceCheckUtils]: 4: Hoare triple {6799#(<= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {7230#(or (and (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (<= (+ 7 |ULTIMATE.start_main_~k~0#1|) (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 25)) (- 4))) (<= (div (+ (* (- 1) |ULTIMATE.start_main_~a~0#1.offset|) |ULTIMATE.start_main_~arr~0#1.offset| (- 24)) (- 4)) (+ 6 |ULTIMATE.start_main_~k~0#1|))) (not (<= 0 |ULTIMATE.start_main_~a~0#1.offset|)))} is VALID [2022-02-20 23:40:04,284 INFO L290 TraceCheckUtils]: 3: Hoare triple {6768#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {6799#(<= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:40:04,284 INFO L290 TraceCheckUtils]: 2: Hoare triple {6768#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {6768#true} is VALID [2022-02-20 23:40:04,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {6768#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {6768#true} is VALID [2022-02-20 23:40:04,284 INFO L290 TraceCheckUtils]: 0: Hoare triple {6768#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6768#true} is VALID [2022-02-20 23:40:04,284 INFO L134 CoverageAnalysis]: Checked inductivity of 177 backedges. 26 proven. 151 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:04,285 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1803819329] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:40:04,285 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:40:04,285 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 20, 20] total 52 [2022-02-20 23:40:04,285 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1359081378] [2022-02-20 23:40:04,285 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:40:04,285 INFO L78 Accepts]: Start accepts. Automaton has has 52 states, 52 states have (on average 3.8653846153846154) internal successors, (201), 52 states have internal predecessors, (201), 0 states have call successors, (0), 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 73 [2022-02-20 23:40:04,286 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:40:04,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 52 states, 52 states have (on average 3.8653846153846154) internal successors, (201), 52 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have 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:40:04,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 201 edges. 201 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:40:04,445 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 52 states [2022-02-20 23:40:04,445 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:40:04,446 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 52 interpolants. [2022-02-20 23:40:04,446 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=220, Invalid=2432, Unknown=0, NotChecked=0, Total=2652 [2022-02-20 23:40:04,446 INFO L87 Difference]: Start difference. First operand 74 states and 75 transitions. Second operand has 52 states, 52 states have (on average 3.8653846153846154) internal successors, (201), 52 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have 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:40:07,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:07,093 INFO L93 Difference]: Finished difference Result 119 states and 120 transitions. [2022-02-20 23:40:07,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-02-20 23:40:07,093 INFO L78 Accepts]: Start accepts. Automaton has has 52 states, 52 states have (on average 3.8653846153846154) internal successors, (201), 52 states have internal predecessors, (201), 0 states have call successors, (0), 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 73 [2022-02-20 23:40:07,093 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:40:07,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 52 states have (on average 3.8653846153846154) internal successors, (201), 52 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have 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:40:07,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 85 transitions. [2022-02-20 23:40:07,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 52 states have (on average 3.8653846153846154) internal successors, (201), 52 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have 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:40:07,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 85 transitions. [2022-02-20 23:40:07,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 85 transitions. [2022-02-20 23:40:07,172 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:40:07,173 INFO L225 Difference]: With dead ends: 119 [2022-02-20 23:40:07,173 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 23:40:07,174 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 112 SyntacticMatches, 2 SemanticMatches, 62 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1408 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=347, Invalid=3685, Unknown=0, NotChecked=0, Total=4032 [2022-02-20 23:40:07,175 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 115 mSDsluCounter, 288 mSDsCounter, 0 mSdLazyCounter, 1404 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 115 SdHoareTripleChecker+Valid, 304 SdHoareTripleChecker+Invalid, 1430 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 1404 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:40:07,175 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [115 Valid, 304 Invalid, 1430 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 1404 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-02-20 23:40:07,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 23:40:07,177 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 78. [2022-02-20 23:40:07,177 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:40:07,177 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 78 states, 77 states have (on average 1.025974025974026) internal successors, (79), 77 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have 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:40:07,177 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 78 states, 77 states have (on average 1.025974025974026) internal successors, (79), 77 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have 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:40:07,178 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 78 states, 77 states have (on average 1.025974025974026) internal successors, (79), 77 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have 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:40:07,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:07,179 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2022-02-20 23:40:07,179 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2022-02-20 23:40:07,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:07,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:07,179 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 77 states have (on average 1.025974025974026) internal successors, (79), 77 states have internal predecessors, (79), 0 states have call successors, (0), 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 81 states. [2022-02-20 23:40:07,180 INFO L87 Difference]: Start difference. First operand has 78 states, 77 states have (on average 1.025974025974026) internal successors, (79), 77 states have internal predecessors, (79), 0 states have call successors, (0), 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 81 states. [2022-02-20 23:40:07,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:40:07,181 INFO L93 Difference]: Finished difference Result 81 states and 82 transitions. [2022-02-20 23:40:07,181 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2022-02-20 23:40:07,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:40:07,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:40:07,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:40:07,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:40:07,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 77 states have (on average 1.025974025974026) internal successors, (79), 77 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have 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:40:07,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 79 transitions. [2022-02-20 23:40:07,183 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 79 transitions. Word has length 73 [2022-02-20 23:40:07,183 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:40:07,183 INFO L470 AbstractCegarLoop]: Abstraction has 78 states and 79 transitions. [2022-02-20 23:40:07,183 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 52 states, 52 states have (on average 3.8653846153846154) internal successors, (201), 52 states have internal predecessors, (201), 0 states have call successors, (0), 0 states have 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:40:07,183 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 79 transitions. [2022-02-20 23:40:07,184 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-02-20 23:40:07,184 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:40:07,184 INFO L514 BasicCegarLoop]: trace histogram [7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:40:07,208 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-02-20 23:40:07,403 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-02-20 23:40:07,403 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:40:07,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:40:07,404 INFO L85 PathProgramCache]: Analyzing trace with hash -12330321, now seen corresponding path program 12 times [2022-02-20 23:40:07,404 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:40:07,404 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [896303291] [2022-02-20 23:40:07,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:40:07,404 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:40:07,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:40:07,768 INFO L290 TraceCheckUtils]: 0: Hoare triple {7637#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7637#true} is VALID [2022-02-20 23:40:07,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {7637#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet5#1, main_#t~post4#1, main_~k~0#1, main_#t~mem8#1, main_#t~mem9#1, main_#t~post10#1.base, main_#t~post10#1.offset, main_#t~mem6#1, main_#t~mem7#1, main_~i~0#1, main_~j~0#1, main_~length~0#1, main_~arr~0#1.base, main_~arr~0#1.offset, main_~a~0#1.base, main_~a~0#1.offset;havoc main_~i~0#1;havoc main_~j~0#1;assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647;main_~length~0#1 := main_#t~nondet2#1;havoc main_#t~nondet2#1; {7637#true} is VALID [2022-02-20 23:40:07,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {7637#true} assume !(main_~length~0#1 < 1 || main_~length~0#1 % 4294967296 >= 536870911); {7637#true} is VALID [2022-02-20 23:40:07,771 INFO L290 TraceCheckUtils]: 3: Hoare triple {7637#true} call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4 * main_~length~0#1);main_~arr~0#1.base, main_~arr~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset; {7639#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} is VALID [2022-02-20 23:40:07,772 INFO L290 TraceCheckUtils]: 4: Hoare triple {7639#(= |ULTIMATE.start_main_~arr~0#1.offset| 0)} assume !(main_~arr~0#1.base == 0 && main_~arr~0#1.offset == 0);main_~a~0#1.base, main_~a~0#1.offset := main_~arr~0#1.base, main_~arr~0#1.offset;main_~k~0#1 := 0; {7640#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:40:07,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {7640#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7640#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:40:07,773 INFO L290 TraceCheckUtils]: 6: Hoare triple {7640#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7640#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:40:07,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {7640#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} havoc main_#t~nondet5#1; {7640#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} is VALID [2022-02-20 23:40:07,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {7640#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (= |ULTIMATE.start_main_~k~0#1| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7641#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {7641#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7641#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,775 INFO L290 TraceCheckUtils]: 10: Hoare triple {7641#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7641#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {7641#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {7641#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,777 INFO L290 TraceCheckUtils]: 12: Hoare triple {7641#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7642#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {7642#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7642#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {7642#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7642#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {7642#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {7642#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,779 INFO L290 TraceCheckUtils]: 16: Hoare triple {7642#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7643#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,780 INFO L290 TraceCheckUtils]: 17: Hoare triple {7643#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7643#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {7643#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7643#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {7643#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {7643#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {7643#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7644#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,782 INFO L290 TraceCheckUtils]: 21: Hoare triple {7644#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7644#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,783 INFO L290 TraceCheckUtils]: 22: Hoare triple {7644#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7644#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {7644#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~nondet5#1; {7644#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,784 INFO L290 TraceCheckUtils]: 24: Hoare triple {7644#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 4 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7645#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,785 INFO L290 TraceCheckUtils]: 25: Hoare triple {7645#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7645#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,785 INFO L290 TraceCheckUtils]: 26: Hoare triple {7645#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7645#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {7645#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} havoc main_#t~nondet5#1; {7645#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} is VALID [2022-02-20 23:40:07,786 INFO L290 TraceCheckUtils]: 28: Hoare triple {7645#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 5 |ULTIMATE.start_main_~k~0#1|))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7646#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 6 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,787 INFO L290 TraceCheckUtils]: 29: Hoare triple {7646#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 6 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_~k~0#1 < main_~length~0#1);assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {7646#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 6 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,788 INFO L290 TraceCheckUtils]: 30: Hoare triple {7646#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (<= 6 |ULTIMATE.start_main_~k~0#1|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet5#1, main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~k~0#1, 4); srcloc: L522 {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,788 INFO L290 TraceCheckUtils]: 31: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} havoc main_#t~nondet5#1; {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,789 INFO L290 TraceCheckUtils]: 32: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} main_#t~post4#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,789 INFO L290 TraceCheckUtils]: 33: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !(main_~k~0#1 < main_~length~0#1); {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,790 INFO L290 TraceCheckUtils]: 34: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,791 INFO L290 TraceCheckUtils]: 35: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,791 INFO L290 TraceCheckUtils]: 36: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,792 INFO L290 TraceCheckUtils]: 37: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,793 INFO L290 TraceCheckUtils]: 38: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,793 INFO L290 TraceCheckUtils]: 39: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} is VALID [2022-02-20 23:40:07,794 INFO L290 TraceCheckUtils]: 40: Hoare triple {7647#(and (= |ULTIMATE.start_main_~a~0#1.offset| 0) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~arr~0#1.offset| 28) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,795 INFO L290 TraceCheckUtils]: 41: Hoare triple {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,795 INFO L290 TraceCheckUtils]: 42: Hoare triple {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,796 INFO L290 TraceCheckUtils]: 43: Hoare triple {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,796 INFO L290 TraceCheckUtils]: 44: Hoare triple {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,797 INFO L290 TraceCheckUtils]: 45: Hoare triple {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,797 INFO L290 TraceCheckUtils]: 46: Hoare triple {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,798 INFO L290 TraceCheckUtils]: 47: Hoare triple {7648#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 24) (select |#length| |ULTIMATE.start_main_~arr~0#1.base|)) (<= 4 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:40:07,798 INFO L290 TraceCheckUtils]: 48: Hoare triple {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:40:07,799 INFO L290 TraceCheckUtils]: 49: Hoare triple {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:40:07,799 INFO L290 TraceCheckUtils]: 50: Hoare triple {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:40:07,800 INFO L290 TraceCheckUtils]: 51: Hoare triple {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:40:07,800 INFO L290 TraceCheckUtils]: 52: Hoare triple {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:40:07,801 INFO L290 TraceCheckUtils]: 53: Hoare triple {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:40:07,801 INFO L290 TraceCheckUtils]: 54: Hoare triple {7649#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 20) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~a~0#1.base| |ULTIMATE.start_main_~arr~0#1.base|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0) (<= 8 |ULTIMATE.start_main_~a~0#1.offset|))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,802 INFO L290 TraceCheckUtils]: 55: Hoare triple {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,802 INFO L290 TraceCheckUtils]: 56: Hoare triple {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,803 INFO L290 TraceCheckUtils]: 57: Hoare triple {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,803 INFO L290 TraceCheckUtils]: 58: Hoare triple {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,804 INFO L290 TraceCheckUtils]: 59: Hoare triple {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,804 INFO L290 TraceCheckUtils]: 60: Hoare triple {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,805 INFO L290 TraceCheckUtils]: 61: Hoare triple {7650#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 16 |ULTIMATE.start_main_~arr~0#1.offset|) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 12 |ULTIMATE.start_main_~a~0#1.offset|) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,805 INFO L290 TraceCheckUtils]: 62: Hoare triple {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,806 INFO L290 TraceCheckUtils]: 63: Hoare triple {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,806 INFO L290 TraceCheckUtils]: 64: Hoare triple {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,807 INFO L290 TraceCheckUtils]: 65: Hoare triple {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,807 INFO L290 TraceCheckUtils]: 66: Hoare triple {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,807 INFO L290 TraceCheckUtils]: 67: Hoare triple {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,808 INFO L290 TraceCheckUtils]: 68: Hoare triple {7651#(and (<= 16 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 12) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,808 INFO L290 TraceCheckUtils]: 69: Hoare triple {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem6#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L525-3 {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,809 INFO L290 TraceCheckUtils]: 70: Hoare triple {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem7#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L525 {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,809 INFO L290 TraceCheckUtils]: 71: Hoare triple {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} assume !!(main_#t~mem6#1 != main_#t~mem7#1);havoc main_#t~mem6#1;havoc main_#t~mem7#1; {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,810 INFO L290 TraceCheckUtils]: 72: Hoare triple {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem8#1 := read~int(main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526 {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} is VALID [2022-02-20 23:40:07,810 INFO L290 TraceCheckUtils]: 73: Hoare triple {7652#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| |ULTIMATE.start_main_~arr~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (= |ULTIMATE.start_main_~arr~0#1.offset| 0))} SUMMARY for call main_#t~mem9#1 := read~int(main_~arr~0#1.base, main_~arr~0#1.offset + 4 * main_~length~0#1 - 4, 4); srcloc: L526-1 {7653#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:40:07,811 INFO L290 TraceCheckUtils]: 74: Hoare triple {7653#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} SUMMARY for call write~int(main_#t~mem8#1 + main_#t~mem9#1, main_~a~0#1.base, main_~a~0#1.offset, 4); srcloc: L526-2 {7653#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} is VALID [2022-02-20 23:40:07,811 INFO L290 TraceCheckUtils]: 75: Hoare triple {7653#(and (<= 20 |ULTIMATE.start_main_~a~0#1.offset|) (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)))} havoc main_#t~mem8#1;havoc main_#t~mem9#1;main_#t~post10#1.base, main_#t~post10#1.offset := main_~a~0#1.base, main_~a~0#1.offset;main_~a~0#1.base, main_~a~0#1.offset := main_#t~post10#1.base, 4 + main_#t~post10#1.offset;havoc main_#t~post10#1.base, main_#t~post10#1.offset; {7654#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 24 |ULTIMATE.start_main_~a~0#1.offset|))} is VALID [2022-02-20 23:40:07,812 INFO L290 TraceCheckUtils]: 76: Hoare triple {7654#(and (<= (+ |ULTIMATE.start_main_~a~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~a~0#1.base|)) (<= 24 |ULTIMATE.start_main_~a~0#1.offset|))} assume !(4 + main_~a~0#1.offset <= #length[main_~a~0#1.base] && 0 <= main_~a~0#1.offset); {7638#false} is VALID [2022-02-20 23:40:07,812 INFO L134 CoverageAnalysis]: Checked inductivity of 202 backedges. 50 proven. 152 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:40:07,812 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:40:07,812 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [896303291] [2022-02-20 23:40:07,812 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [896303291] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:40:07,812 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1464745884] [2022-02-20 23:40:07,813 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 23:40:07,813 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:40:07,813 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:40:07,816 INFO L229 MonitoredProcess]: Starting monitored process 15 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:40:07,826 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process