./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/termination-crafted/Arrays01-EquivalentConstantIndices-1.c --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 8be7027f Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -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/AutomizerTermination.xml -i ../sv-benchmarks/c/termination-crafted/Arrays01-EquivalentConstantIndices-1.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash cad2c6f6e8ebe2adcd550e4a56b83be37e52f812ae33bfb645236c6925734dbf --- Real Ultimate output --- This is Ultimate 0.2.5-wip.dk.perfect-tracechecks-8be7027-m [2024-11-12 20:51:39,701 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-12 20:51:39,782 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2024-11-12 20:51:39,788 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-12 20:51:39,790 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-12 20:51:39,820 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-12 20:51:39,821 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-12 20:51:39,821 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-12 20:51:39,821 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-12 20:51:39,822 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-12 20:51:39,822 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-12 20:51:39,822 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-12 20:51:39,823 INFO L153 SettingsManager]: * Use SBE=true [2024-11-12 20:51:39,823 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-12 20:51:39,823 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-12 20:51:39,824 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-12 20:51:39,824 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-12 20:51:39,827 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-12 20:51:39,828 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-12 20:51:39,828 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-12 20:51:39,831 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-12 20:51:39,831 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-12 20:51:39,831 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-12 20:51:39,832 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-12 20:51:39,832 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-12 20:51:39,832 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-12 20:51:39,833 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-12 20:51:39,833 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-12 20:51:39,833 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-12 20:51:39,833 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-12 20:51:39,833 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-12 20:51:39,834 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-12 20:51:39,834 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-12 20:51:39,835 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-12 20:51:39,835 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-12 20:51:39,835 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-12 20:51:39,836 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR 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 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(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> cad2c6f6e8ebe2adcd550e4a56b83be37e52f812ae33bfb645236c6925734dbf [2024-11-12 20:51:40,099 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-12 20:51:40,126 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-12 20:51:40,128 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-12 20:51:40,130 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-12 20:51:40,130 INFO L274 PluginConnector]: CDTParser initialized [2024-11-12 20:51:40,131 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-crafted/Arrays01-EquivalentConstantIndices-1.c [2024-11-12 20:51:41,518 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-12 20:51:41,714 INFO L384 CDTParser]: Found 1 translation units. [2024-11-12 20:51:41,715 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-crafted/Arrays01-EquivalentConstantIndices-1.c [2024-11-12 20:51:41,723 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b7ce57a5f/16ec0e9348da402b825170fb20f0b9f2/FLAG0b8a2534c [2024-11-12 20:51:41,735 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b7ce57a5f/16ec0e9348da402b825170fb20f0b9f2 [2024-11-12 20:51:41,738 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-12 20:51:41,739 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-12 20:51:41,740 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-12 20:51:41,740 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-12 20:51:41,744 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-12 20:51:41,745 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:41,746 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@26fd7027 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41, skipping insertion in model container [2024-11-12 20:51:41,746 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:41,762 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-12 20:51:41,929 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-12 20:51:41,934 INFO L200 MainTranslator]: Completed pre-run [2024-11-12 20:51:41,946 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-12 20:51:41,966 INFO L204 MainTranslator]: Completed translation [2024-11-12 20:51:41,966 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41 WrapperNode [2024-11-12 20:51:41,967 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-12 20:51:41,968 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-12 20:51:41,968 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-12 20:51:41,968 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-12 20:51:41,975 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:41,981 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,000 INFO L138 Inliner]: procedures = 8, calls = 9, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 33 [2024-11-12 20:51:42,000 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-12 20:51:42,001 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-12 20:51:42,001 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-12 20:51:42,001 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-12 20:51:42,012 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,013 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,019 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,030 INFO L175 MemorySlicer]: Split 4 memory accesses to 1 slices as follows [4]. 100 percent of accesses are in the largest equivalence class. The 0 initializations are split as follows [0]. The 2 writes are split as follows [2]. [2024-11-12 20:51:42,030 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,031 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,037 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,040 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,046 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,047 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,049 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-12 20:51:42,050 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-12 20:51:42,050 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-12 20:51:42,050 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-12 20:51:42,051 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (1/1) ... [2024-11-12 20:51:42,056 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 20:51:42,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:42,088 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 20:51:42,091 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-11-12 20:51:42,139 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-12 20:51:42,139 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-12 20:51:42,139 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-12 20:51:42,140 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-12 20:51:42,140 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-11-12 20:51:42,140 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-11-12 20:51:42,204 INFO L238 CfgBuilder]: Building ICFG [2024-11-12 20:51:42,206 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-12 20:51:42,317 INFO L? ?]: Removed 3 outVars from TransFormulas that were not future-live. [2024-11-12 20:51:42,317 INFO L287 CfgBuilder]: Performing block encoding [2024-11-12 20:51:42,332 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-12 20:51:42,333 INFO L316 CfgBuilder]: Removed 2 assume(true) statements. [2024-11-12 20:51:42,334 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.11 08:51:42 BoogieIcfgContainer [2024-11-12 20:51:42,334 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-12 20:51:42,335 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-12 20:51:42,335 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-12 20:51:42,340 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-12 20:51:42,341 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 20:51:42,341 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 12.11 08:51:41" (1/3) ... [2024-11-12 20:51:42,342 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@469f2b70 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.11 08:51:42, skipping insertion in model container [2024-11-12 20:51:42,344 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 20:51:42,344 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 08:51:41" (2/3) ... [2024-11-12 20:51:42,344 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@469f2b70 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.11 08:51:42, skipping insertion in model container [2024-11-12 20:51:42,344 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 20:51:42,344 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.11 08:51:42" (3/3) ... [2024-11-12 20:51:42,346 INFO L332 chiAutomizerObserver]: Analyzing ICFG Arrays01-EquivalentConstantIndices-1.c [2024-11-12 20:51:42,393 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2024-11-12 20:51:42,393 INFO L302 stractBuchiCegarLoop]: Hoare is None [2024-11-12 20:51:42,393 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-12 20:51:42,393 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-12 20:51:42,393 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-12 20:51:42,393 INFO L306 stractBuchiCegarLoop]: Difference is false [2024-11-12 20:51:42,393 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-12 20:51:42,394 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-12 20:51:42,397 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 11 states, 10 states have (on average 1.4) internal successors, (14), 10 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:42,410 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2024-11-12 20:51:42,410 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:42,410 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:42,415 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2024-11-12 20:51:42,415 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:42,415 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-12 20:51:42,416 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 11 states, 10 states have (on average 1.4) internal successors, (14), 10 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:42,417 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2024-11-12 20:51:42,417 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:42,417 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:42,417 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2024-11-12 20:51:42,417 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:42,422 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" [2024-11-12 20:51:42,423 INFO L749 eck$LassoCheckResult]: Loop: "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" [2024-11-12 20:51:42,427 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:42,428 INFO L85 PathProgramCache]: Analyzing trace with hash 963, now seen corresponding path program 1 times [2024-11-12 20:51:42,437 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:42,437 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [88576188] [2024-11-12 20:51:42,437 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:42,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:42,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:42,511 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:42,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:42,532 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:42,534 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:42,534 INFO L85 PathProgramCache]: Analyzing trace with hash 1283, now seen corresponding path program 1 times [2024-11-12 20:51:42,535 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:42,535 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019476284] [2024-11-12 20:51:42,535 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:42,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:42,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:42,545 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:42,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:42,553 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:42,554 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:42,554 INFO L85 PathProgramCache]: Analyzing trace with hash 925765, now seen corresponding path program 1 times [2024-11-12 20:51:42,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:42,555 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [554756193] [2024-11-12 20:51:42,555 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:42,555 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:42,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:42,588 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:42,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:42,602 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:42,892 INFO L204 LassoAnalysis]: Preferences: [2024-11-12 20:51:42,893 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-12 20:51:42,893 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-12 20:51:42,894 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-12 20:51:42,894 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-12 20:51:42,894 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 20:51:42,894 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-12 20:51:42,894 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-12 20:51:42,895 INFO L132 ssoRankerPreferences]: Filename of dumped script: Arrays01-EquivalentConstantIndices-1.c_Iteration1_Lasso [2024-11-12 20:51:42,895 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-12 20:51:42,895 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-12 20:51:42,914 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 20:51:43,064 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 20:51:43,068 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 20:51:43,072 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 20:51:43,075 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 20:51:43,078 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 20:51:43,197 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-12 20:51:43,202 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-12 20:51:43,203 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 20:51:43,205 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:43,207 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 20:51:43,209 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2024-11-12 20:51:43,210 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-12 20:51:43,223 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 20:51:43,224 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 20:51:43,224 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 20:51:43,224 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 20:51:43,229 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-12 20:51:43,229 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-12 20:51:43,235 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 20:51:43,247 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2024-11-12 20:51:43,247 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 20:51:43,247 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:43,250 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 20:51:43,251 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2024-11-12 20:51:43,252 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-12 20:51:43,266 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 20:51:43,266 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 20:51:43,266 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 20:51:43,266 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 20:51:43,270 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-12 20:51:43,270 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-12 20:51:43,275 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 20:51:43,290 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2024-11-12 20:51:43,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 20:51:43,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:43,294 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 20:51:43,296 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2024-11-12 20:51:43,297 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-12 20:51:43,310 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 20:51:43,311 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 20:51:43,311 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 20:51:43,311 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 20:51:43,322 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-12 20:51:43,323 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-12 20:51:43,332 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-12 20:51:43,375 INFO L443 ModelExtractionUtils]: Simplification made 12 calls to the SMT solver. [2024-11-12 20:51:43,376 INFO L444 ModelExtractionUtils]: 0 out of 13 variables were initially zero. Simplification set additionally 10 variables to zero. [2024-11-12 20:51:43,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 20:51:43,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:43,398 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 20:51:43,400 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2024-11-12 20:51:43,401 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-12 20:51:43,417 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2024-11-12 20:51:43,417 INFO L474 LassoAnalysis]: Proved termination. [2024-11-12 20:51:43,418 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select #length ULTIMATE.start_main_~#a~0#1.base)_1, ULTIMATE.start_main_~i~0#1) = 2095*v_rep(select #length ULTIMATE.start_main_~#a~0#1.base)_1 - 8*ULTIMATE.start_main_~i~0#1 Supporting invariants [] [2024-11-12 20:51:43,434 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2024-11-12 20:51:43,445 INFO L156 tatePredicateManager]: 1 out of 1 supporting invariants were superfluous and have been removed [2024-11-12 20:51:43,452 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #length [2024-11-12 20:51:43,453 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#length,GLOBAL] [2024-11-12 20:51:43,472 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:43,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:43,484 INFO L256 TraceCheckSpWp]: Trace formula consists of 19 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-12 20:51:43,485 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 20:51:43,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:43,503 INFO L256 TraceCheckSpWp]: Trace formula consists of 13 conjuncts, 6 conjuncts are in the unsatisfiable core [2024-11-12 20:51:43,504 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 20:51:43,540 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-12 20:51:43,571 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2024-11-12 20:51:43,573 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 11 states, 10 states have (on average 1.4) internal successors, (14), 10 states have internal predecessors, (14), 0 states have call successors, (0), 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 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:43,618 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 11 states, 10 states have (on average 1.4) internal successors, (14), 10 states have internal predecessors, (14), 0 states have call successors, (0), 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 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 20 states and 27 transitions. Complement of second has 6 states. [2024-11-12 20:51:43,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 1 non-accepting loop states 1 accepting loop states [2024-11-12 20:51:43,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:43,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 13 transitions. [2024-11-12 20:51:43,627 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 13 transitions. Stem has 2 letters. Loop has 2 letters. [2024-11-12 20:51:43,628 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 20:51:43,628 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 13 transitions. Stem has 4 letters. Loop has 2 letters. [2024-11-12 20:51:43,628 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 20:51:43,628 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 13 transitions. Stem has 2 letters. Loop has 4 letters. [2024-11-12 20:51:43,628 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 20:51:43,629 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 20 states and 27 transitions. [2024-11-12 20:51:43,631 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:43,634 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 20 states to 8 states and 10 transitions. [2024-11-12 20:51:43,634 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 5 [2024-11-12 20:51:43,634 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:43,635 INFO L73 IsDeterministic]: Start isDeterministic. Operand 8 states and 10 transitions. [2024-11-12 20:51:43,635 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:43,635 INFO L218 hiAutomatonCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-12 20:51:43,646 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states and 10 transitions. [2024-11-12 20:51:43,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2024-11-12 20:51:43,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 1.25) internal successors, (10), 7 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:43,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 10 transitions. [2024-11-12 20:51:43,654 INFO L240 hiAutomatonCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-12 20:51:43,654 INFO L426 stractBuchiCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-12 20:51:43,654 INFO L333 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-12 20:51:43,654 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 8 states and 10 transitions. [2024-11-12 20:51:43,655 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:43,655 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:43,655 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:43,655 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-12 20:51:43,655 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:43,656 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:43,656 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:43,656 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:43,657 INFO L85 PathProgramCache]: Analyzing trace with hash 925707, now seen corresponding path program 1 times [2024-11-12 20:51:43,657 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:43,657 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766995610] [2024-11-12 20:51:43,657 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:43,657 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:43,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:43,710 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:43,710 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766995610] [2024-11-12 20:51:43,711 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [766995610] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:43,711 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [872493883] [2024-11-12 20:51:43,711 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:43,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:43,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:43,713 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) [2024-11-12 20:51:43,715 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-11-12 20:51:43,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:43,749 INFO L256 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-12 20:51:43,749 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 20:51:43,756 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 20:51:43,770 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [872493883] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 20:51:43,770 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 20:51:43,770 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 5 [2024-11-12 20:51:43,771 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1282899175] [2024-11-12 20:51:43,771 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:43,773 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:43,774 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:43,774 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 1 times [2024-11-12 20:51:43,774 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:43,774 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [752671502] [2024-11-12 20:51:43,774 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:43,775 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:43,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:43,784 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:43,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:43,788 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:43,828 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:43,831 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-12 20:51:43,832 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2024-11-12 20:51:43,833 INFO L87 Difference]: Start difference. First operand 8 states and 10 transitions. cyclomatic complexity: 4 Second operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:43,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:43,855 INFO L93 Difference]: Finished difference Result 10 states and 11 transitions. [2024-11-12 20:51:43,856 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 10 states and 11 transitions. [2024-11-12 20:51:43,856 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:43,857 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 10 states to 10 states and 11 transitions. [2024-11-12 20:51:43,857 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:43,857 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:43,857 INFO L73 IsDeterministic]: Start isDeterministic. Operand 10 states and 11 transitions. [2024-11-12 20:51:43,857 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:43,857 INFO L218 hiAutomatonCegarLoop]: Abstraction has 10 states and 11 transitions. [2024-11-12 20:51:43,857 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 10 states and 11 transitions. [2024-11-12 20:51:43,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 10 to 10. [2024-11-12 20:51:43,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.1) internal successors, (11), 9 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) [2024-11-12 20:51:43,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 11 transitions. [2024-11-12 20:51:43,859 INFO L240 hiAutomatonCegarLoop]: Abstraction has 10 states and 11 transitions. [2024-11-12 20:51:43,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-12 20:51:43,860 INFO L426 stractBuchiCegarLoop]: Abstraction has 10 states and 11 transitions. [2024-11-12 20:51:43,860 INFO L333 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-12 20:51:43,861 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 10 states and 11 transitions. [2024-11-12 20:51:43,862 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:43,862 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:43,863 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:43,864 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1] [2024-11-12 20:51:43,864 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:43,864 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:43,864 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:43,864 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:43,864 INFO L85 PathProgramCache]: Analyzing trace with hash 265236367, now seen corresponding path program 1 times [2024-11-12 20:51:43,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:43,865 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2064527089] [2024-11-12 20:51:43,865 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:43,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:43,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:43,964 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:43,965 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2064527089] [2024-11-12 20:51:43,965 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2064527089] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:43,965 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [144857254] [2024-11-12 20:51:43,965 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:43,966 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:43,966 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:43,969 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) [2024-11-12 20:51:43,970 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2024-11-12 20:51:44,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:44,016 INFO L256 TraceCheckSpWp]: Trace formula consists of 43 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-12 20:51:44,017 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 20:51:44,036 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 20:51:44,071 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [144857254] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 20:51:44,072 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 20:51:44,072 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 9 [2024-11-12 20:51:44,072 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2059278492] [2024-11-12 20:51:44,072 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:44,072 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:44,073 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:44,073 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 2 times [2024-11-12 20:51:44,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:44,073 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [519700373] [2024-11-12 20:51:44,073 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:44,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:44,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:44,080 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:44,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:44,085 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:44,130 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:44,131 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-11-12 20:51:44,131 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2024-11-12 20:51:44,131 INFO L87 Difference]: Start difference. First operand 10 states and 11 transitions. cyclomatic complexity: 3 Second operand has 9 states, 9 states have (on average 1.8888888888888888) internal successors, (17), 9 states have internal predecessors, (17), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:44,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:44,172 INFO L93 Difference]: Finished difference Result 18 states and 19 transitions. [2024-11-12 20:51:44,172 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18 states and 19 transitions. [2024-11-12 20:51:44,173 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:44,174 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18 states to 18 states and 19 transitions. [2024-11-12 20:51:44,174 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:44,174 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:44,174 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18 states and 19 transitions. [2024-11-12 20:51:44,174 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:44,175 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18 states and 19 transitions. [2024-11-12 20:51:44,175 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18 states and 19 transitions. [2024-11-12 20:51:44,176 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18 to 18. [2024-11-12 20:51:44,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.0555555555555556) internal successors, (19), 17 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:44,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 19 transitions. [2024-11-12 20:51:44,177 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18 states and 19 transitions. [2024-11-12 20:51:44,177 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-12 20:51:44,177 INFO L426 stractBuchiCegarLoop]: Abstraction has 18 states and 19 transitions. [2024-11-12 20:51:44,178 INFO L333 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-12 20:51:44,178 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18 states and 19 transitions. [2024-11-12 20:51:44,179 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:44,179 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:44,179 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:44,180 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 1, 1, 1, 1] [2024-11-12 20:51:44,180 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:44,180 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:44,180 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:44,181 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:44,181 INFO L85 PathProgramCache]: Analyzing trace with hash 1715480727, now seen corresponding path program 2 times [2024-11-12 20:51:44,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:44,181 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [172349990] [2024-11-12 20:51:44,181 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:44,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:44,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:44,338 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2024-11-12 20:51:44,463 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:44,464 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [172349990] [2024-11-12 20:51:44,464 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [172349990] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:44,464 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1635578511] [2024-11-12 20:51:44,465 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-12 20:51:44,465 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:44,465 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:44,467 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) [2024-11-12 20:51:44,468 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2024-11-12 20:51:44,509 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:44,510 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:44,510 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2024-11-12 20:51:44,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1883118048] [2024-11-12 20:51:44,510 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:44,511 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:44,511 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:44,511 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 3 times [2024-11-12 20:51:44,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:44,512 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [144087778] [2024-11-12 20:51:44,512 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:44,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:44,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:44,518 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:44,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:44,522 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:44,559 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:44,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-11-12 20:51:44,560 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2024-11-12 20:51:44,560 INFO L87 Difference]: Start difference. First operand 18 states and 19 transitions. cyclomatic complexity: 3 Second operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:44,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:44,588 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2024-11-12 20:51:44,588 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 21 states and 22 transitions. [2024-11-12 20:51:44,589 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:44,590 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 21 states to 21 states and 22 transitions. [2024-11-12 20:51:44,590 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:44,590 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:44,590 INFO L73 IsDeterministic]: Start isDeterministic. Operand 21 states and 22 transitions. [2024-11-12 20:51:44,590 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:44,591 INFO L218 hiAutomatonCegarLoop]: Abstraction has 21 states and 22 transitions. [2024-11-12 20:51:44,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states and 22 transitions. [2024-11-12 20:51:44,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2024-11-12 20:51:44,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.05) internal successors, (21), 19 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:44,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 21 transitions. [2024-11-12 20:51:44,593 INFO L240 hiAutomatonCegarLoop]: Abstraction has 20 states and 21 transitions. [2024-11-12 20:51:44,593 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-11-12 20:51:44,594 INFO L426 stractBuchiCegarLoop]: Abstraction has 20 states and 21 transitions. [2024-11-12 20:51:44,594 INFO L333 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-12 20:51:44,594 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 20 states and 21 transitions. [2024-11-12 20:51:44,595 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:44,595 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:44,595 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:44,596 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 1, 1, 1, 1] [2024-11-12 20:51:44,596 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:44,596 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:44,597 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:44,597 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:44,597 INFO L85 PathProgramCache]: Analyzing trace with hash -690407015, now seen corresponding path program 3 times [2024-11-12 20:51:44,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:44,598 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [357372019] [2024-11-12 20:51:44,598 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:44,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:44,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:44,784 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:44,784 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [357372019] [2024-11-12 20:51:44,784 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [357372019] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:44,785 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [816701673] [2024-11-12 20:51:44,785 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-12 20:51:44,785 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:44,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:44,787 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) [2024-11-12 20:51:44,789 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2024-11-12 20:51:44,834 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:44,835 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:44,835 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2024-11-12 20:51:44,835 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [310796049] [2024-11-12 20:51:44,835 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:44,836 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:44,837 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:44,837 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 4 times [2024-11-12 20:51:44,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:44,837 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [266923407] [2024-11-12 20:51:44,841 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:44,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:44,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:44,847 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:44,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:44,850 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:44,898 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:44,899 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-11-12 20:51:44,899 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2024-11-12 20:51:44,899 INFO L87 Difference]: Start difference. First operand 20 states and 21 transitions. cyclomatic complexity: 3 Second operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 10 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) [2024-11-12 20:51:44,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:44,939 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2024-11-12 20:51:44,939 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 23 states and 24 transitions. [2024-11-12 20:51:44,940 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:44,942 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 23 states to 23 states and 24 transitions. [2024-11-12 20:51:44,942 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:44,942 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:44,942 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 24 transitions. [2024-11-12 20:51:44,942 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:44,943 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23 states and 24 transitions. [2024-11-12 20:51:44,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 24 transitions. [2024-11-12 20:51:44,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 22. [2024-11-12 20:51:44,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.0454545454545454) internal successors, (23), 21 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:44,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2024-11-12 20:51:44,946 INFO L240 hiAutomatonCegarLoop]: Abstraction has 22 states and 23 transitions. [2024-11-12 20:51:44,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-11-12 20:51:44,947 INFO L426 stractBuchiCegarLoop]: Abstraction has 22 states and 23 transitions. [2024-11-12 20:51:44,948 INFO L333 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-12 20:51:44,948 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 22 states and 23 transitions. [2024-11-12 20:51:44,948 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:44,948 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:44,948 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:44,950 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 1, 1, 1, 1] [2024-11-12 20:51:44,950 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:44,951 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:44,951 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:44,951 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:44,951 INFO L85 PathProgramCache]: Analyzing trace with hash -2056121829, now seen corresponding path program 4 times [2024-11-12 20:51:44,951 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:44,951 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [182720361] [2024-11-12 20:51:44,951 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:44,951 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:44,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:45,126 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:45,127 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [182720361] [2024-11-12 20:51:45,128 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [182720361] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:45,128 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1282933500] [2024-11-12 20:51:45,128 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-12 20:51:45,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:45,128 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:45,132 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) [2024-11-12 20:51:45,134 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2024-11-12 20:51:45,180 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:45,180 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:45,181 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2024-11-12 20:51:45,181 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [739031676] [2024-11-12 20:51:45,181 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:45,181 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:45,182 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:45,182 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 5 times [2024-11-12 20:51:45,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:45,182 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1748764389] [2024-11-12 20:51:45,183 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:45,183 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:45,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:45,187 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:45,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:45,191 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:45,225 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:45,226 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2024-11-12 20:51:45,226 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2024-11-12 20:51:45,226 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. cyclomatic complexity: 3 Second operand has 11 states, 11 states have (on average 1.8181818181818181) internal successors, (20), 11 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:45,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:45,268 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2024-11-12 20:51:45,269 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 25 states and 26 transitions. [2024-11-12 20:51:45,269 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:45,270 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 25 states to 25 states and 26 transitions. [2024-11-12 20:51:45,270 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:45,270 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:45,270 INFO L73 IsDeterministic]: Start isDeterministic. Operand 25 states and 26 transitions. [2024-11-12 20:51:45,270 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:45,270 INFO L218 hiAutomatonCegarLoop]: Abstraction has 25 states and 26 transitions. [2024-11-12 20:51:45,271 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states and 26 transitions. [2024-11-12 20:51:45,272 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2024-11-12 20:51:45,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.0416666666666667) internal successors, (25), 23 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:45,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2024-11-12 20:51:45,273 INFO L240 hiAutomatonCegarLoop]: Abstraction has 24 states and 25 transitions. [2024-11-12 20:51:45,273 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2024-11-12 20:51:45,274 INFO L426 stractBuchiCegarLoop]: Abstraction has 24 states and 25 transitions. [2024-11-12 20:51:45,274 INFO L333 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-12 20:51:45,274 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 24 states and 25 transitions. [2024-11-12 20:51:45,274 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:45,275 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:45,275 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:45,275 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 1, 1, 1, 1] [2024-11-12 20:51:45,275 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:45,275 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:45,276 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:45,276 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:45,276 INFO L85 PathProgramCache]: Analyzing trace with hash -248065507, now seen corresponding path program 5 times [2024-11-12 20:51:45,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:45,276 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [184924247] [2024-11-12 20:51:45,276 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:45,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:45,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:45,445 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:45,445 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [184924247] [2024-11-12 20:51:45,446 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [184924247] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:45,446 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1981970388] [2024-11-12 20:51:45,446 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-12 20:51:45,446 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:45,446 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:45,448 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) [2024-11-12 20:51:45,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2024-11-12 20:51:45,499 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:45,499 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:45,500 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2024-11-12 20:51:45,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [764154068] [2024-11-12 20:51:45,500 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:45,500 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:45,501 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:45,501 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 6 times [2024-11-12 20:51:45,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:45,501 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [422853275] [2024-11-12 20:51:45,501 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:45,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:45,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:45,506 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:45,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:45,509 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:45,556 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:45,557 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-11-12 20:51:45,557 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2024-11-12 20:51:45,558 INFO L87 Difference]: Start difference. First operand 24 states and 25 transitions. cyclomatic complexity: 3 Second operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 12 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:45,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:45,599 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2024-11-12 20:51:45,599 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 27 states and 28 transitions. [2024-11-12 20:51:45,600 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:45,600 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 27 states to 27 states and 28 transitions. [2024-11-12 20:51:45,601 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:45,601 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:45,601 INFO L73 IsDeterministic]: Start isDeterministic. Operand 27 states and 28 transitions. [2024-11-12 20:51:45,601 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:45,601 INFO L218 hiAutomatonCegarLoop]: Abstraction has 27 states and 28 transitions. [2024-11-12 20:51:45,601 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states and 28 transitions. [2024-11-12 20:51:45,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2024-11-12 20:51:45,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.0384615384615385) 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) [2024-11-12 20:51:45,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 27 transitions. [2024-11-12 20:51:45,603 INFO L240 hiAutomatonCegarLoop]: Abstraction has 26 states and 27 transitions. [2024-11-12 20:51:45,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2024-11-12 20:51:45,604 INFO L426 stractBuchiCegarLoop]: Abstraction has 26 states and 27 transitions. [2024-11-12 20:51:45,604 INFO L333 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-12 20:51:45,605 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 26 states and 27 transitions. [2024-11-12 20:51:45,605 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:45,605 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:45,605 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:45,606 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 1, 1, 1, 1] [2024-11-12 20:51:45,606 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:45,606 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:45,606 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:45,607 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:45,607 INFO L85 PathProgramCache]: Analyzing trace with hash 2127272351, now seen corresponding path program 6 times [2024-11-12 20:51:45,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:45,607 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1340445316] [2024-11-12 20:51:45,607 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:45,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:45,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:45,773 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:45,773 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1340445316] [2024-11-12 20:51:45,774 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1340445316] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:45,774 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [356888012] [2024-11-12 20:51:45,774 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-12 20:51:45,774 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:45,774 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:45,796 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) [2024-11-12 20:51:45,800 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2024-11-12 20:51:45,850 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:45,850 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:45,850 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2024-11-12 20:51:45,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1643983659] [2024-11-12 20:51:45,851 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:45,851 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:45,851 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:45,851 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 7 times [2024-11-12 20:51:45,851 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:45,851 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [747659740] [2024-11-12 20:51:45,851 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:45,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:45,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:45,856 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:45,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:45,859 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:45,892 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:45,893 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-11-12 20:51:45,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2024-11-12 20:51:45,893 INFO L87 Difference]: Start difference. First operand 26 states and 27 transitions. cyclomatic complexity: 3 Second operand has 13 states, 13 states have (on average 1.8461538461538463) internal successors, (24), 13 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:45,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:45,930 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2024-11-12 20:51:45,930 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29 states and 30 transitions. [2024-11-12 20:51:45,931 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:45,931 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29 states to 29 states and 30 transitions. [2024-11-12 20:51:45,931 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:45,931 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:45,931 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29 states and 30 transitions. [2024-11-12 20:51:45,932 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:45,932 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29 states and 30 transitions. [2024-11-12 20:51:45,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states and 30 transitions. [2024-11-12 20:51:45,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2024-11-12 20:51:45,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.0357142857142858) internal successors, (29), 27 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:45,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 29 transitions. [2024-11-12 20:51:45,934 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28 states and 29 transitions. [2024-11-12 20:51:45,934 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2024-11-12 20:51:45,935 INFO L426 stractBuchiCegarLoop]: Abstraction has 28 states and 29 transitions. [2024-11-12 20:51:45,935 INFO L333 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-12 20:51:45,935 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28 states and 29 transitions. [2024-11-12 20:51:45,936 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:45,936 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:45,936 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:45,936 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 1, 1, 1, 1] [2024-11-12 20:51:45,937 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:45,937 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:45,937 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:45,937 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:45,937 INFO L85 PathProgramCache]: Analyzing trace with hash -95647583, now seen corresponding path program 7 times [2024-11-12 20:51:45,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:45,938 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1450603723] [2024-11-12 20:51:45,938 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:45,938 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:45,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:46,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:46,146 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1450603723] [2024-11-12 20:51:46,146 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1450603723] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:46,146 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [731587361] [2024-11-12 20:51:46,147 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-12 20:51:46,147 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:46,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:46,149 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) [2024-11-12 20:51:46,151 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2024-11-12 20:51:46,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:46,226 INFO L256 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 13 conjuncts are in the unsatisfiable core [2024-11-12 20:51:46,228 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 20:51:46,294 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 20:51:46,564 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [731587361] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 20:51:46,564 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 20:51:46,564 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14, 14] total 27 [2024-11-12 20:51:46,565 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1251136371] [2024-11-12 20:51:46,565 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:46,565 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:46,566 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:46,566 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 8 times [2024-11-12 20:51:46,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:46,566 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [944108532] [2024-11-12 20:51:46,566 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:46,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:46,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:46,571 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:46,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:46,578 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:46,624 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:46,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2024-11-12 20:51:46,625 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=351, Invalid=351, Unknown=0, NotChecked=0, Total=702 [2024-11-12 20:51:46,625 INFO L87 Difference]: Start difference. First operand 28 states and 29 transitions. cyclomatic complexity: 3 Second operand has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 27 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) [2024-11-12 20:51:46,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:46,714 INFO L93 Difference]: Finished difference Result 54 states and 55 transitions. [2024-11-12 20:51:46,714 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 54 states and 55 transitions. [2024-11-12 20:51:46,716 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:46,719 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 54 states to 54 states and 55 transitions. [2024-11-12 20:51:46,720 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:46,720 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:46,720 INFO L73 IsDeterministic]: Start isDeterministic. Operand 54 states and 55 transitions. [2024-11-12 20:51:46,720 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:46,720 INFO L218 hiAutomatonCegarLoop]: Abstraction has 54 states and 55 transitions. [2024-11-12 20:51:46,720 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states and 55 transitions. [2024-11-12 20:51:46,722 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2024-11-12 20:51:46,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 54 states have (on average 1.0185185185185186) internal successors, (55), 53 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:46,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2024-11-12 20:51:46,723 INFO L240 hiAutomatonCegarLoop]: Abstraction has 54 states and 55 transitions. [2024-11-12 20:51:46,724 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2024-11-12 20:51:46,724 INFO L426 stractBuchiCegarLoop]: Abstraction has 54 states and 55 transitions. [2024-11-12 20:51:46,725 INFO L333 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-12 20:51:46,725 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 54 states and 55 transitions. [2024-11-12 20:51:46,725 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:46,726 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:46,726 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:46,727 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 24, 1, 1, 1, 1] [2024-11-12 20:51:46,727 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:46,727 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:46,727 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:46,728 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:46,728 INFO L85 PathProgramCache]: Analyzing trace with hash -1981311429, now seen corresponding path program 8 times [2024-11-12 20:51:46,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:46,728 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1458218477] [2024-11-12 20:51:46,728 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:46,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:46,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:47,406 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:47,406 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1458218477] [2024-11-12 20:51:47,407 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1458218477] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:47,407 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1964447632] [2024-11-12 20:51:47,407 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-12 20:51:47,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:47,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:47,409 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) [2024-11-12 20:51:47,410 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2024-11-12 20:51:47,486 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:47,486 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:47,486 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27] total 27 [2024-11-12 20:51:47,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1355172844] [2024-11-12 20:51:47,486 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:47,487 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:47,487 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:47,487 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 9 times [2024-11-12 20:51:47,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:47,487 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [890657452] [2024-11-12 20:51:47,487 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:47,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:47,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:47,491 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:47,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:47,494 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:47,526 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:47,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2024-11-12 20:51:47,527 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=351, Invalid=351, Unknown=0, NotChecked=0, Total=702 [2024-11-12 20:51:47,527 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. cyclomatic complexity: 3 Second operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 27 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:47,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:47,614 INFO L93 Difference]: Finished difference Result 57 states and 58 transitions. [2024-11-12 20:51:47,614 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 57 states and 58 transitions. [2024-11-12 20:51:47,615 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:47,617 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 57 states to 57 states and 58 transitions. [2024-11-12 20:51:47,617 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:47,617 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:47,617 INFO L73 IsDeterministic]: Start isDeterministic. Operand 57 states and 58 transitions. [2024-11-12 20:51:47,617 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:47,617 INFO L218 hiAutomatonCegarLoop]: Abstraction has 57 states and 58 transitions. [2024-11-12 20:51:47,618 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states and 58 transitions. [2024-11-12 20:51:47,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2024-11-12 20:51:47,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 56 states have (on average 1.0178571428571428) 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) [2024-11-12 20:51:47,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 57 transitions. [2024-11-12 20:51:47,623 INFO L240 hiAutomatonCegarLoop]: Abstraction has 56 states and 57 transitions. [2024-11-12 20:51:47,624 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2024-11-12 20:51:47,625 INFO L426 stractBuchiCegarLoop]: Abstraction has 56 states and 57 transitions. [2024-11-12 20:51:47,625 INFO L333 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-12 20:51:47,625 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 56 states and 57 transitions. [2024-11-12 20:51:47,626 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:47,627 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:47,628 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:47,628 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [25, 25, 1, 1, 1, 1] [2024-11-12 20:51:47,629 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:47,629 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:47,629 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:47,629 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:47,631 INFO L85 PathProgramCache]: Analyzing trace with hash -1369715139, now seen corresponding path program 9 times [2024-11-12 20:51:47,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:47,631 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [580810541] [2024-11-12 20:51:47,631 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:47,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:47,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:48,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:48,262 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [580810541] [2024-11-12 20:51:48,263 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [580810541] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:48,263 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1903460228] [2024-11-12 20:51:48,263 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-12 20:51:48,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:48,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:48,266 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) [2024-11-12 20:51:48,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2024-11-12 20:51:48,348 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:48,348 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:48,348 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28] total 28 [2024-11-12 20:51:48,348 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2115421102] [2024-11-12 20:51:48,348 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:48,348 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:48,349 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:48,349 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 10 times [2024-11-12 20:51:48,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:48,349 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1372356704] [2024-11-12 20:51:48,349 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:48,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:48,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:48,355 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:48,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:48,358 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:48,393 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:48,394 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2024-11-12 20:51:48,394 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=378, Invalid=378, Unknown=0, NotChecked=0, Total=756 [2024-11-12 20:51:48,394 INFO L87 Difference]: Start difference. First operand 56 states and 57 transitions. cyclomatic complexity: 3 Second operand has 28 states, 28 states have (on average 1.9285714285714286) internal successors, (54), 28 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:48,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:48,474 INFO L93 Difference]: Finished difference Result 59 states and 60 transitions. [2024-11-12 20:51:48,474 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 59 states and 60 transitions. [2024-11-12 20:51:48,475 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:48,475 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 59 states to 59 states and 60 transitions. [2024-11-12 20:51:48,475 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:48,475 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:48,475 INFO L73 IsDeterministic]: Start isDeterministic. Operand 59 states and 60 transitions. [2024-11-12 20:51:48,476 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:48,476 INFO L218 hiAutomatonCegarLoop]: Abstraction has 59 states and 60 transitions. [2024-11-12 20:51:48,476 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states and 60 transitions. [2024-11-12 20:51:48,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2024-11-12 20:51:48,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 58 states have (on average 1.0172413793103448) internal successors, (59), 57 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:48,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 59 transitions. [2024-11-12 20:51:48,482 INFO L240 hiAutomatonCegarLoop]: Abstraction has 58 states and 59 transitions. [2024-11-12 20:51:48,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2024-11-12 20:51:48,485 INFO L426 stractBuchiCegarLoop]: Abstraction has 58 states and 59 transitions. [2024-11-12 20:51:48,485 INFO L333 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-11-12 20:51:48,485 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 58 states and 59 transitions. [2024-11-12 20:51:48,486 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:48,486 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:48,486 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:48,487 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [26, 26, 1, 1, 1, 1] [2024-11-12 20:51:48,487 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:48,487 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:48,487 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:48,487 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:48,487 INFO L85 PathProgramCache]: Analyzing trace with hash -2036200001, now seen corresponding path program 10 times [2024-11-12 20:51:48,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:48,487 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [87927141] [2024-11-12 20:51:48,490 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:48,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:48,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:49,147 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:49,148 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [87927141] [2024-11-12 20:51:49,148 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [87927141] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:49,148 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1011904249] [2024-11-12 20:51:49,148 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-12 20:51:49,148 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:49,148 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:49,149 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:51:49,151 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2024-11-12 20:51:49,230 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:49,230 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:49,230 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29] total 29 [2024-11-12 20:51:49,230 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [475178733] [2024-11-12 20:51:49,231 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:49,231 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:49,231 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:49,231 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 11 times [2024-11-12 20:51:49,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:49,231 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [269796809] [2024-11-12 20:51:49,231 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:49,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:49,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:49,235 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:49,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:49,238 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:49,274 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:49,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2024-11-12 20:51:49,275 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=406, Invalid=406, Unknown=0, NotChecked=0, Total=812 [2024-11-12 20:51:49,275 INFO L87 Difference]: Start difference. First operand 58 states and 59 transitions. cyclomatic complexity: 3 Second operand has 29 states, 29 states have (on average 1.9310344827586208) internal successors, (56), 29 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:49,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:49,357 INFO L93 Difference]: Finished difference Result 61 states and 62 transitions. [2024-11-12 20:51:49,358 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 61 states and 62 transitions. [2024-11-12 20:51:49,358 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:49,360 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 61 states to 61 states and 62 transitions. [2024-11-12 20:51:49,360 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:49,360 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:49,360 INFO L73 IsDeterministic]: Start isDeterministic. Operand 61 states and 62 transitions. [2024-11-12 20:51:49,361 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:49,361 INFO L218 hiAutomatonCegarLoop]: Abstraction has 61 states and 62 transitions. [2024-11-12 20:51:49,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states and 62 transitions. [2024-11-12 20:51:49,364 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2024-11-12 20:51:49,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 60 states have (on average 1.0166666666666666) internal successors, (61), 59 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:49,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 61 transitions. [2024-11-12 20:51:49,366 INFO L240 hiAutomatonCegarLoop]: Abstraction has 60 states and 61 transitions. [2024-11-12 20:51:49,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-11-12 20:51:49,369 INFO L426 stractBuchiCegarLoop]: Abstraction has 60 states and 61 transitions. [2024-11-12 20:51:49,369 INFO L333 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-11-12 20:51:49,369 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 60 states and 61 transitions. [2024-11-12 20:51:49,369 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:49,369 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:49,369 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:49,370 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [27, 27, 1, 1, 1, 1] [2024-11-12 20:51:49,370 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:49,370 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:49,372 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:49,373 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:49,373 INFO L85 PathProgramCache]: Analyzing trace with hash 1716942017, now seen corresponding path program 11 times [2024-11-12 20:51:49,373 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:49,373 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [803549290] [2024-11-12 20:51:49,373 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:49,373 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:49,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:50,018 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:50,018 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [803549290] [2024-11-12 20:51:50,018 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [803549290] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:50,018 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1764577645] [2024-11-12 20:51:50,018 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-12 20:51:50,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:50,018 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:50,020 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:51:50,022 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2024-11-12 20:51:50,103 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:50,104 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:50,104 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30] total 30 [2024-11-12 20:51:50,104 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546991170] [2024-11-12 20:51:50,104 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:50,104 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:50,104 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:50,105 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 12 times [2024-11-12 20:51:50,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:50,105 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1500112938] [2024-11-12 20:51:50,105 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:50,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:50,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:50,109 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:50,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:50,111 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:50,141 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:50,142 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2024-11-12 20:51:50,143 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=435, Invalid=435, Unknown=0, NotChecked=0, Total=870 [2024-11-12 20:51:50,143 INFO L87 Difference]: Start difference. First operand 60 states and 61 transitions. cyclomatic complexity: 3 Second operand has 30 states, 30 states have (on average 1.9333333333333333) internal successors, (58), 30 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) [2024-11-12 20:51:50,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:50,220 INFO L93 Difference]: Finished difference Result 63 states and 64 transitions. [2024-11-12 20:51:50,220 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 63 states and 64 transitions. [2024-11-12 20:51:50,220 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:50,221 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 63 states to 63 states and 64 transitions. [2024-11-12 20:51:50,221 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:50,221 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:50,221 INFO L73 IsDeterministic]: Start isDeterministic. Operand 63 states and 64 transitions. [2024-11-12 20:51:50,221 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:50,222 INFO L218 hiAutomatonCegarLoop]: Abstraction has 63 states and 64 transitions. [2024-11-12 20:51:50,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states and 64 transitions. [2024-11-12 20:51:50,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2024-11-12 20:51:50,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 62 states have (on average 1.0161290322580645) internal successors, (63), 61 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:50,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 63 transitions. [2024-11-12 20:51:50,225 INFO L240 hiAutomatonCegarLoop]: Abstraction has 62 states and 63 transitions. [2024-11-12 20:51:50,225 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2024-11-12 20:51:50,226 INFO L426 stractBuchiCegarLoop]: Abstraction has 62 states and 63 transitions. [2024-11-12 20:51:50,226 INFO L333 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-11-12 20:51:50,226 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 62 states and 63 transitions. [2024-11-12 20:51:50,226 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:50,226 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:50,226 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:50,227 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [28, 28, 1, 1, 1, 1] [2024-11-12 20:51:50,227 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:50,227 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:50,228 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:50,228 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:50,228 INFO L85 PathProgramCache]: Analyzing trace with hash 713892675, now seen corresponding path program 12 times [2024-11-12 20:51:50,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:50,228 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2141692970] [2024-11-12 20:51:50,228 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:50,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:50,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:50,949 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:50,950 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2141692970] [2024-11-12 20:51:50,950 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2141692970] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:50,950 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [183719760] [2024-11-12 20:51:50,950 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-12 20:51:50,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:50,950 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:50,952 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:51:50,954 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2024-11-12 20:51:51,047 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:51,048 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:51,048 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31] total 31 [2024-11-12 20:51:51,048 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [59016455] [2024-11-12 20:51:51,048 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:51,048 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:51,048 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:51,048 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 13 times [2024-11-12 20:51:51,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:51,048 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [408494234] [2024-11-12 20:51:51,049 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:51,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:51,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:51,052 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:51,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:51,055 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:51,086 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:51,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2024-11-12 20:51:51,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=465, Invalid=465, Unknown=0, NotChecked=0, Total=930 [2024-11-12 20:51:51,087 INFO L87 Difference]: Start difference. First operand 62 states and 63 transitions. cyclomatic complexity: 3 Second operand has 31 states, 31 states have (on average 1.935483870967742) internal successors, (60), 31 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:51,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:51,166 INFO L93 Difference]: Finished difference Result 65 states and 66 transitions. [2024-11-12 20:51:51,166 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 65 states and 66 transitions. [2024-11-12 20:51:51,167 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:51,167 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 65 states to 65 states and 66 transitions. [2024-11-12 20:51:51,167 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:51,168 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:51,168 INFO L73 IsDeterministic]: Start isDeterministic. Operand 65 states and 66 transitions. [2024-11-12 20:51:51,168 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:51,168 INFO L218 hiAutomatonCegarLoop]: Abstraction has 65 states and 66 transitions. [2024-11-12 20:51:51,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states and 66 transitions. [2024-11-12 20:51:51,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 64. [2024-11-12 20:51:51,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 64 states have (on average 1.015625) internal successors, (65), 63 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:51,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 65 transitions. [2024-11-12 20:51:51,171 INFO L240 hiAutomatonCegarLoop]: Abstraction has 64 states and 65 transitions. [2024-11-12 20:51:51,171 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2024-11-12 20:51:51,171 INFO L426 stractBuchiCegarLoop]: Abstraction has 64 states and 65 transitions. [2024-11-12 20:51:51,172 INFO L333 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2024-11-12 20:51:51,172 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 64 states and 65 transitions. [2024-11-12 20:51:51,172 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:51,172 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:51,172 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:51,173 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [29, 29, 1, 1, 1, 1] [2024-11-12 20:51:51,173 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:51,173 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:51,174 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:51,174 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:51,174 INFO L85 PathProgramCache]: Analyzing trace with hash -1143850683, now seen corresponding path program 13 times [2024-11-12 20:51:51,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:51,174 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [355118293] [2024-11-12 20:51:51,174 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:51,175 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:51,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:51,856 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:51,856 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [355118293] [2024-11-12 20:51:51,856 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [355118293] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:51,856 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1979404360] [2024-11-12 20:51:51,856 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-12 20:51:51,856 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:51,856 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:51,859 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:51:51,861 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2024-11-12 20:51:52,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:52,010 INFO L256 TraceCheckSpWp]: Trace formula consists of 340 conjuncts, 31 conjuncts are in the unsatisfiable core [2024-11-12 20:51:52,013 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 20:51:52,142 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 20:51:53,364 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1979404360] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 20:51:53,364 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 20:51:53,364 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 32, 32] total 63 [2024-11-12 20:51:53,364 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1470708747] [2024-11-12 20:51:53,364 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:53,365 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:53,365 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:53,365 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 14 times [2024-11-12 20:51:53,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:53,365 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1776985081] [2024-11-12 20:51:53,365 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:53,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:53,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:53,370 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:53,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:53,373 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:53,404 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:53,405 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 63 interpolants. [2024-11-12 20:51:53,406 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1953, Invalid=1953, Unknown=0, NotChecked=0, Total=3906 [2024-11-12 20:51:53,407 INFO L87 Difference]: Start difference. First operand 64 states and 65 transitions. cyclomatic complexity: 3 Second operand has 63 states, 63 states have (on average 1.9841269841269842) internal successors, (125), 63 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) [2024-11-12 20:51:53,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:53,604 INFO L93 Difference]: Finished difference Result 126 states and 127 transitions. [2024-11-12 20:51:53,604 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 126 states and 127 transitions. [2024-11-12 20:51:53,605 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:53,606 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 126 states to 126 states and 127 transitions. [2024-11-12 20:51:53,606 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:53,606 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:53,606 INFO L73 IsDeterministic]: Start isDeterministic. Operand 126 states and 127 transitions. [2024-11-12 20:51:53,607 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:53,608 INFO L218 hiAutomatonCegarLoop]: Abstraction has 126 states and 127 transitions. [2024-11-12 20:51:53,609 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states and 127 transitions. [2024-11-12 20:51:53,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 126. [2024-11-12 20:51:53,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 126 states have (on average 1.007936507936508) internal successors, (127), 125 states have internal predecessors, (127), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:53,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 127 transitions. [2024-11-12 20:51:53,613 INFO L240 hiAutomatonCegarLoop]: Abstraction has 126 states and 127 transitions. [2024-11-12 20:51:53,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 62 states. [2024-11-12 20:51:53,618 INFO L426 stractBuchiCegarLoop]: Abstraction has 126 states and 127 transitions. [2024-11-12 20:51:53,618 INFO L333 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2024-11-12 20:51:53,618 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 126 states and 127 transitions. [2024-11-12 20:51:53,619 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:53,619 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:53,619 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:53,619 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [60, 60, 1, 1, 1, 1] [2024-11-12 20:51:53,619 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:53,620 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:53,623 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:53,624 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:53,624 INFO L85 PathProgramCache]: Analyzing trace with hash -1673368701, now seen corresponding path program 14 times [2024-11-12 20:51:53,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:53,624 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [688017072] [2024-11-12 20:51:53,624 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:53,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:53,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:55,977 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:55,977 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [688017072] [2024-11-12 20:51:55,977 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [688017072] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:55,977 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1556119704] [2024-11-12 20:51:55,977 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-12 20:51:55,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:55,978 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:55,985 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:51:55,988 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2024-11-12 20:51:56,121 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:56,121 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:56,121 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [63] total 63 [2024-11-12 20:51:56,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1235417078] [2024-11-12 20:51:56,121 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:56,122 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:56,122 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:56,122 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 15 times [2024-11-12 20:51:56,123 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:56,123 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1278856206] [2024-11-12 20:51:56,123 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:56,123 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:56,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:56,128 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:56,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:56,132 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:56,166 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:56,167 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 63 interpolants. [2024-11-12 20:51:56,168 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1953, Invalid=1953, Unknown=0, NotChecked=0, Total=3906 [2024-11-12 20:51:56,168 INFO L87 Difference]: Start difference. First operand 126 states and 127 transitions. cyclomatic complexity: 3 Second operand has 63 states, 63 states have (on average 1.9682539682539681) internal successors, (124), 63 states have internal predecessors, (124), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:56,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:56,325 INFO L93 Difference]: Finished difference Result 129 states and 130 transitions. [2024-11-12 20:51:56,325 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 129 states and 130 transitions. [2024-11-12 20:51:56,326 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:56,327 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 129 states to 129 states and 130 transitions. [2024-11-12 20:51:56,327 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:56,327 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:56,327 INFO L73 IsDeterministic]: Start isDeterministic. Operand 129 states and 130 transitions. [2024-11-12 20:51:56,327 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:56,327 INFO L218 hiAutomatonCegarLoop]: Abstraction has 129 states and 130 transitions. [2024-11-12 20:51:56,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states and 130 transitions. [2024-11-12 20:51:56,330 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 128. [2024-11-12 20:51:56,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 128 states have (on average 1.0078125) internal successors, (129), 127 states have internal predecessors, (129), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:56,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 129 transitions. [2024-11-12 20:51:56,331 INFO L240 hiAutomatonCegarLoop]: Abstraction has 128 states and 129 transitions. [2024-11-12 20:51:56,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 63 states. [2024-11-12 20:51:56,333 INFO L426 stractBuchiCegarLoop]: Abstraction has 128 states and 129 transitions. [2024-11-12 20:51:56,333 INFO L333 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2024-11-12 20:51:56,333 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 128 states and 129 transitions. [2024-11-12 20:51:56,334 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:56,334 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:56,334 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:56,335 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [61, 61, 1, 1, 1, 1] [2024-11-12 20:51:56,335 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:56,335 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:56,339 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:56,339 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:56,340 INFO L85 PathProgramCache]: Analyzing trace with hash -1789496955, now seen corresponding path program 15 times [2024-11-12 20:51:56,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:56,340 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [747075647] [2024-11-12 20:51:56,340 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:56,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:56,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:51:58,899 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:51:58,900 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [747075647] [2024-11-12 20:51:58,900 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [747075647] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:51:58,900 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [641053536] [2024-11-12 20:51:58,900 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-12 20:51:58,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:51:58,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:51:58,901 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:51:58,902 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2024-11-12 20:51:59,039 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:51:59,039 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:51:59,039 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [64] total 64 [2024-11-12 20:51:59,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1412149493] [2024-11-12 20:51:59,039 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:51:59,039 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:51:59,040 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:59,040 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 16 times [2024-11-12 20:51:59,040 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:59,040 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1453086811] [2024-11-12 20:51:59,040 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:59,040 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:59,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:59,046 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:51:59,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:51:59,050 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:51:59,072 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:51:59,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 64 interpolants. [2024-11-12 20:51:59,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2016, Invalid=2016, Unknown=0, NotChecked=0, Total=4032 [2024-11-12 20:51:59,074 INFO L87 Difference]: Start difference. First operand 128 states and 129 transitions. cyclomatic complexity: 3 Second operand has 64 states, 64 states have (on average 1.96875) internal successors, (126), 64 states have internal predecessors, (126), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:59,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:51:59,215 INFO L93 Difference]: Finished difference Result 131 states and 132 transitions. [2024-11-12 20:51:59,215 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 131 states and 132 transitions. [2024-11-12 20:51:59,216 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:59,216 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 131 states to 131 states and 132 transitions. [2024-11-12 20:51:59,216 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:51:59,216 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:51:59,216 INFO L73 IsDeterministic]: Start isDeterministic. Operand 131 states and 132 transitions. [2024-11-12 20:51:59,217 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:51:59,217 INFO L218 hiAutomatonCegarLoop]: Abstraction has 131 states and 132 transitions. [2024-11-12 20:51:59,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states and 132 transitions. [2024-11-12 20:51:59,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 130. [2024-11-12 20:51:59,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 130 states have (on average 1.0076923076923077) internal successors, (131), 129 states have internal predecessors, (131), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:51:59,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 131 transitions. [2024-11-12 20:51:59,220 INFO L240 hiAutomatonCegarLoop]: Abstraction has 130 states and 131 transitions. [2024-11-12 20:51:59,225 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 64 states. [2024-11-12 20:51:59,226 INFO L426 stractBuchiCegarLoop]: Abstraction has 130 states and 131 transitions. [2024-11-12 20:51:59,226 INFO L333 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2024-11-12 20:51:59,226 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 130 states and 131 transitions. [2024-11-12 20:51:59,226 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:51:59,227 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:51:59,227 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:51:59,227 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [62, 62, 1, 1, 1, 1] [2024-11-12 20:51:59,227 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:51:59,228 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:51:59,230 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:51:59,230 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:51:59,231 INFO L85 PathProgramCache]: Analyzing trace with hash -1719599353, now seen corresponding path program 16 times [2024-11-12 20:51:59,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:51:59,232 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [677931086] [2024-11-12 20:51:59,232 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:51:59,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:51:59,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:01,618 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:52:01,618 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [677931086] [2024-11-12 20:52:01,618 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [677931086] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:52:01,618 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1384907732] [2024-11-12 20:52:01,618 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-12 20:52:01,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:52:01,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:52:01,623 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:52:01,625 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2024-11-12 20:52:01,782 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:52:01,783 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:52:01,783 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [65] total 65 [2024-11-12 20:52:01,783 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [612650732] [2024-11-12 20:52:01,783 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:52:01,783 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:52:01,784 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:01,784 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 17 times [2024-11-12 20:52:01,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:01,784 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [555042688] [2024-11-12 20:52:01,784 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:01,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:01,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:01,790 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:52:01,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:01,794 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:52:01,823 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:52:01,824 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 65 interpolants. [2024-11-12 20:52:01,826 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2080, Invalid=2080, Unknown=0, NotChecked=0, Total=4160 [2024-11-12 20:52:01,826 INFO L87 Difference]: Start difference. First operand 130 states and 131 transitions. cyclomatic complexity: 3 Second operand has 65 states, 65 states have (on average 1.9692307692307693) internal successors, (128), 65 states have internal predecessors, (128), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:01,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:52:01,975 INFO L93 Difference]: Finished difference Result 133 states and 134 transitions. [2024-11-12 20:52:01,976 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 133 states and 134 transitions. [2024-11-12 20:52:01,976 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:01,977 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 133 states to 133 states and 134 transitions. [2024-11-12 20:52:01,977 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:52:01,977 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:52:01,977 INFO L73 IsDeterministic]: Start isDeterministic. Operand 133 states and 134 transitions. [2024-11-12 20:52:01,977 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:52:01,978 INFO L218 hiAutomatonCegarLoop]: Abstraction has 133 states and 134 transitions. [2024-11-12 20:52:01,978 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states and 134 transitions. [2024-11-12 20:52:01,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 132. [2024-11-12 20:52:01,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 132 states have (on average 1.0075757575757576) internal successors, (133), 131 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:01,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 133 transitions. [2024-11-12 20:52:01,981 INFO L240 hiAutomatonCegarLoop]: Abstraction has 132 states and 133 transitions. [2024-11-12 20:52:01,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 65 states. [2024-11-12 20:52:01,985 INFO L426 stractBuchiCegarLoop]: Abstraction has 132 states and 133 transitions. [2024-11-12 20:52:01,985 INFO L333 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2024-11-12 20:52:01,985 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 132 states and 133 transitions. [2024-11-12 20:52:01,985 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:01,986 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:52:01,986 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:52:01,986 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [63, 63, 1, 1, 1, 1] [2024-11-12 20:52:01,986 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:52:01,987 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:52:01,990 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:52:01,990 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:01,990 INFO L85 PathProgramCache]: Analyzing trace with hash 1027486729, now seen corresponding path program 17 times [2024-11-12 20:52:01,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:01,991 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [770578276] [2024-11-12 20:52:01,991 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:01,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:02,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:04,299 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:52:04,299 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [770578276] [2024-11-12 20:52:04,300 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [770578276] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:52:04,300 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1470584426] [2024-11-12 20:52:04,300 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-12 20:52:04,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:52:04,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:52:04,301 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:52:04,302 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2024-11-12 20:52:04,479 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:52:04,480 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:52:04,480 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [66] total 66 [2024-11-12 20:52:04,480 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1398687308] [2024-11-12 20:52:04,480 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:52:04,480 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:52:04,481 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:04,481 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 18 times [2024-11-12 20:52:04,481 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:04,481 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1126669769] [2024-11-12 20:52:04,481 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:04,481 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:04,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:04,487 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:52:04,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:04,491 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:52:04,524 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:52:04,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 66 interpolants. [2024-11-12 20:52:04,526 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2145, Invalid=2145, Unknown=0, NotChecked=0, Total=4290 [2024-11-12 20:52:04,526 INFO L87 Difference]: Start difference. First operand 132 states and 133 transitions. cyclomatic complexity: 3 Second operand has 66 states, 66 states have (on average 1.9696969696969697) internal successors, (130), 66 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) [2024-11-12 20:52:04,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:52:04,665 INFO L93 Difference]: Finished difference Result 135 states and 136 transitions. [2024-11-12 20:52:04,665 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 135 states and 136 transitions. [2024-11-12 20:52:04,666 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:04,667 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 135 states to 135 states and 136 transitions. [2024-11-12 20:52:04,667 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:52:04,667 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:52:04,667 INFO L73 IsDeterministic]: Start isDeterministic. Operand 135 states and 136 transitions. [2024-11-12 20:52:04,667 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:52:04,667 INFO L218 hiAutomatonCegarLoop]: Abstraction has 135 states and 136 transitions. [2024-11-12 20:52:04,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states and 136 transitions. [2024-11-12 20:52:04,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 134. [2024-11-12 20:52:04,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 134 states, 134 states have (on average 1.007462686567164) internal successors, (135), 133 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:04,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 135 transitions. [2024-11-12 20:52:04,670 INFO L240 hiAutomatonCegarLoop]: Abstraction has 134 states and 135 transitions. [2024-11-12 20:52:04,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 66 states. [2024-11-12 20:52:04,672 INFO L426 stractBuchiCegarLoop]: Abstraction has 134 states and 135 transitions. [2024-11-12 20:52:04,672 INFO L333 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2024-11-12 20:52:04,672 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 134 states and 135 transitions. [2024-11-12 20:52:04,673 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:04,673 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:52:04,673 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:52:04,674 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [64, 64, 1, 1, 1, 1] [2024-11-12 20:52:04,674 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:52:04,674 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:52:04,675 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:52:04,675 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:04,675 INFO L85 PathProgramCache]: Analyzing trace with hash -427675509, now seen corresponding path program 18 times [2024-11-12 20:52:04,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:04,675 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1364311103] [2024-11-12 20:52:04,675 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:04,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:04,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:06,968 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:52:06,968 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1364311103] [2024-11-12 20:52:06,969 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1364311103] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:52:06,969 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [972266292] [2024-11-12 20:52:06,969 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-12 20:52:06,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:52:06,969 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:52:06,971 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:52:06,971 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2024-11-12 20:52:07,163 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:52:07,163 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:52:07,163 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [67] total 67 [2024-11-12 20:52:07,163 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [74128289] [2024-11-12 20:52:07,163 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:52:07,163 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:52:07,164 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:07,164 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 19 times [2024-11-12 20:52:07,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:07,164 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1440468402] [2024-11-12 20:52:07,164 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:07,164 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:07,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:07,172 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:52:07,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:07,177 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:52:07,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:52:07,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 67 interpolants. [2024-11-12 20:52:07,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2211, Invalid=2211, Unknown=0, NotChecked=0, Total=4422 [2024-11-12 20:52:07,215 INFO L87 Difference]: Start difference. First operand 134 states and 135 transitions. cyclomatic complexity: 3 Second operand has 67 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 67 states have internal predecessors, (132), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:07,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:52:07,377 INFO L93 Difference]: Finished difference Result 137 states and 138 transitions. [2024-11-12 20:52:07,377 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 137 states and 138 transitions. [2024-11-12 20:52:07,378 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:07,378 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 137 states to 137 states and 138 transitions. [2024-11-12 20:52:07,379 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:52:07,379 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:52:07,379 INFO L73 IsDeterministic]: Start isDeterministic. Operand 137 states and 138 transitions. [2024-11-12 20:52:07,379 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:52:07,379 INFO L218 hiAutomatonCegarLoop]: Abstraction has 137 states and 138 transitions. [2024-11-12 20:52:07,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states and 138 transitions. [2024-11-12 20:52:07,381 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 136. [2024-11-12 20:52:07,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 136 states have (on average 1.0073529411764706) internal successors, (137), 135 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:07,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 137 transitions. [2024-11-12 20:52:07,382 INFO L240 hiAutomatonCegarLoop]: Abstraction has 136 states and 137 transitions. [2024-11-12 20:52:07,382 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 67 states. [2024-11-12 20:52:07,383 INFO L426 stractBuchiCegarLoop]: Abstraction has 136 states and 137 transitions. [2024-11-12 20:52:07,383 INFO L333 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2024-11-12 20:52:07,383 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 136 states and 137 transitions. [2024-11-12 20:52:07,383 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:07,383 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:52:07,383 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:52:07,384 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [65, 65, 1, 1, 1, 1] [2024-11-12 20:52:07,384 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:52:07,385 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:52:07,385 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:52:07,385 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:07,385 INFO L85 PathProgramCache]: Analyzing trace with hash 1320752269, now seen corresponding path program 19 times [2024-11-12 20:52:07,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:07,385 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [175836350] [2024-11-12 20:52:07,386 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:07,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:07,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:09,870 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:52:09,870 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [175836350] [2024-11-12 20:52:09,870 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [175836350] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:52:09,870 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [508495877] [2024-11-12 20:52:09,870 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-12 20:52:09,871 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:52:09,871 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:52:09,872 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:52:09,873 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2024-11-12 20:52:10,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:10,145 INFO L256 TraceCheckSpWp]: Trace formula consists of 736 conjuncts, 67 conjuncts are in the unsatisfiable core [2024-11-12 20:52:10,149 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 20:52:10,318 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 20:52:14,649 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [508495877] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 20:52:14,649 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 20:52:14,650 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [68, 68, 68] total 135 [2024-11-12 20:52:14,650 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [962549266] [2024-11-12 20:52:14,650 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 20:52:14,650 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:52:14,651 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:14,651 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 20 times [2024-11-12 20:52:14,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:14,651 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [743657489] [2024-11-12 20:52:14,651 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:14,651 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:14,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:14,655 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:52:14,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:14,660 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:52:14,696 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:52:14,698 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 135 interpolants. [2024-11-12 20:52:14,702 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9045, Invalid=9045, Unknown=0, NotChecked=0, Total=18090 [2024-11-12 20:52:14,703 INFO L87 Difference]: Start difference. First operand 136 states and 137 transitions. cyclomatic complexity: 3 Second operand has 135 states, 135 states have (on average 1.9925925925925927) internal successors, (269), 135 states have internal predecessors, (269), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:15,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:52:15,134 INFO L93 Difference]: Finished difference Result 270 states and 271 transitions. [2024-11-12 20:52:15,134 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 270 states and 271 transitions. [2024-11-12 20:52:15,135 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:15,136 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 270 states to 270 states and 271 transitions. [2024-11-12 20:52:15,136 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:52:15,136 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:52:15,136 INFO L73 IsDeterministic]: Start isDeterministic. Operand 270 states and 271 transitions. [2024-11-12 20:52:15,136 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:52:15,137 INFO L218 hiAutomatonCegarLoop]: Abstraction has 270 states and 271 transitions. [2024-11-12 20:52:15,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 270 states and 271 transitions. [2024-11-12 20:52:15,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 270 to 270. [2024-11-12 20:52:15,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 270 states, 270 states have (on average 1.0037037037037038) internal successors, (271), 269 states have internal predecessors, (271), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:15,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 270 states to 270 states and 271 transitions. [2024-11-12 20:52:15,140 INFO L240 hiAutomatonCegarLoop]: Abstraction has 270 states and 271 transitions. [2024-11-12 20:52:15,140 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 134 states. [2024-11-12 20:52:15,141 INFO L426 stractBuchiCegarLoop]: Abstraction has 270 states and 271 transitions. [2024-11-12 20:52:15,141 INFO L333 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2024-11-12 20:52:15,141 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 270 states and 271 transitions. [2024-11-12 20:52:15,142 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:15,142 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:52:15,142 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:52:15,144 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [132, 132, 1, 1, 1, 1] [2024-11-12 20:52:15,144 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:52:15,144 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:52:15,145 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:52:15,145 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:15,145 INFO L85 PathProgramCache]: Analyzing trace with hash -10224109, now seen corresponding path program 20 times [2024-11-12 20:52:15,145 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:15,145 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [992733154] [2024-11-12 20:52:15,146 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:15,146 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:15,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:24,193 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:52:24,194 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [992733154] [2024-11-12 20:52:24,194 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [992733154] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:52:24,194 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [115736577] [2024-11-12 20:52:24,194 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-12 20:52:24,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:52:24,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:52:24,196 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:52:24,199 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2024-11-12 20:52:24,476 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:52:24,476 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:52:24,477 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [135] total 135 [2024-11-12 20:52:24,477 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [213431528] [2024-11-12 20:52:24,477 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:52:24,477 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:52:24,478 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:24,478 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 21 times [2024-11-12 20:52:24,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:24,478 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [131049090] [2024-11-12 20:52:24,478 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:24,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:24,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:24,484 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:52:24,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:24,488 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:52:24,516 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:52:24,518 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 135 interpolants. [2024-11-12 20:52:24,522 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9045, Invalid=9045, Unknown=0, NotChecked=0, Total=18090 [2024-11-12 20:52:24,523 INFO L87 Difference]: Start difference. First operand 270 states and 271 transitions. cyclomatic complexity: 3 Second operand has 135 states, 135 states have (on average 1.9851851851851852) internal successors, (268), 135 states have internal predecessors, (268), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:24,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:52:24,853 INFO L93 Difference]: Finished difference Result 273 states and 274 transitions. [2024-11-12 20:52:24,854 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 273 states and 274 transitions. [2024-11-12 20:52:24,855 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:24,855 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 273 states to 273 states and 274 transitions. [2024-11-12 20:52:24,856 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:52:24,856 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:52:24,856 INFO L73 IsDeterministic]: Start isDeterministic. Operand 273 states and 274 transitions. [2024-11-12 20:52:24,856 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:52:24,856 INFO L218 hiAutomatonCegarLoop]: Abstraction has 273 states and 274 transitions. [2024-11-12 20:52:24,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 273 states and 274 transitions. [2024-11-12 20:52:24,859 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 273 to 272. [2024-11-12 20:52:24,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 272 states, 272 states have (on average 1.0036764705882353) internal successors, (273), 271 states have internal predecessors, (273), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:24,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 272 states to 272 states and 273 transitions. [2024-11-12 20:52:24,860 INFO L240 hiAutomatonCegarLoop]: Abstraction has 272 states and 273 transitions. [2024-11-12 20:52:24,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 135 states. [2024-11-12 20:52:24,861 INFO L426 stractBuchiCegarLoop]: Abstraction has 272 states and 273 transitions. [2024-11-12 20:52:24,861 INFO L333 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2024-11-12 20:52:24,861 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 272 states and 273 transitions. [2024-11-12 20:52:24,862 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:24,862 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:52:24,862 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:52:24,864 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [133, 133, 1, 1, 1, 1] [2024-11-12 20:52:24,865 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:52:24,865 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:52:24,865 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:52:24,865 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:24,866 INFO L85 PathProgramCache]: Analyzing trace with hash -1235378155, now seen corresponding path program 21 times [2024-11-12 20:52:24,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:24,866 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1771253156] [2024-11-12 20:52:24,866 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:24,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:25,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:33,845 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:52:33,845 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1771253156] [2024-11-12 20:52:33,845 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1771253156] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:52:33,845 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1220391660] [2024-11-12 20:52:33,845 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-12 20:52:33,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:52:33,846 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:52:33,848 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:52:33,849 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2024-11-12 20:52:34,158 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:52:34,158 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:52:34,159 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [136] total 136 [2024-11-12 20:52:34,159 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [431557273] [2024-11-12 20:52:34,159 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:52:34,159 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:52:34,160 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:34,160 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 22 times [2024-11-12 20:52:34,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:34,160 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [621652285] [2024-11-12 20:52:34,160 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:34,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:34,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:34,167 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:52:34,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:34,172 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:52:34,200 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:52:34,202 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 136 interpolants. [2024-11-12 20:52:34,204 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9180, Invalid=9180, Unknown=0, NotChecked=0, Total=18360 [2024-11-12 20:52:34,204 INFO L87 Difference]: Start difference. First operand 272 states and 273 transitions. cyclomatic complexity: 3 Second operand has 136 states, 136 states have (on average 1.9852941176470589) internal successors, (270), 136 states have internal predecessors, (270), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:34,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:52:34,520 INFO L93 Difference]: Finished difference Result 275 states and 276 transitions. [2024-11-12 20:52:34,520 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 275 states and 276 transitions. [2024-11-12 20:52:34,522 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:34,523 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 275 states to 275 states and 276 transitions. [2024-11-12 20:52:34,523 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:52:34,523 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:52:34,523 INFO L73 IsDeterministic]: Start isDeterministic. Operand 275 states and 276 transitions. [2024-11-12 20:52:34,523 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:52:34,524 INFO L218 hiAutomatonCegarLoop]: Abstraction has 275 states and 276 transitions. [2024-11-12 20:52:34,524 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states and 276 transitions. [2024-11-12 20:52:34,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 274. [2024-11-12 20:52:34,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 274 states, 274 states have (on average 1.0036496350364963) internal successors, (275), 273 states have internal predecessors, (275), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:34,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 274 states to 274 states and 275 transitions. [2024-11-12 20:52:34,527 INFO L240 hiAutomatonCegarLoop]: Abstraction has 274 states and 275 transitions. [2024-11-12 20:52:34,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 136 states. [2024-11-12 20:52:34,528 INFO L426 stractBuchiCegarLoop]: Abstraction has 274 states and 275 transitions. [2024-11-12 20:52:34,528 INFO L333 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2024-11-12 20:52:34,528 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 274 states and 275 transitions. [2024-11-12 20:52:34,529 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:34,530 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:52:34,530 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:52:34,531 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [134, 134, 1, 1, 1, 1] [2024-11-12 20:52:34,531 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:52:34,531 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:52:34,532 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:52:34,532 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:34,532 INFO L85 PathProgramCache]: Analyzing trace with hash -1787377257, now seen corresponding path program 22 times [2024-11-12 20:52:34,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:34,532 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [317920825] [2024-11-12 20:52:34,533 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:34,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:34,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:43,624 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:52:43,625 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [317920825] [2024-11-12 20:52:43,625 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [317920825] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:52:43,625 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2109820419] [2024-11-12 20:52:43,625 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-12 20:52:43,625 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:52:43,625 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:52:43,626 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:52:43,628 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2024-11-12 20:52:43,950 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:52:43,951 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:52:43,951 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [137] total 137 [2024-11-12 20:52:43,951 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1354030453] [2024-11-12 20:52:43,951 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:52:43,951 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:52:43,952 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:43,952 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 23 times [2024-11-12 20:52:43,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:43,952 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [784855618] [2024-11-12 20:52:43,952 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:43,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:43,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:43,959 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:52:43,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:43,965 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:52:43,995 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:52:43,997 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 137 interpolants. [2024-11-12 20:52:43,998 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9316, Invalid=9316, Unknown=0, NotChecked=0, Total=18632 [2024-11-12 20:52:43,999 INFO L87 Difference]: Start difference. First operand 274 states and 275 transitions. cyclomatic complexity: 3 Second operand has 137 states, 137 states have (on average 1.9854014598540146) internal successors, (272), 137 states have internal predecessors, (272), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:44,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:52:44,316 INFO L93 Difference]: Finished difference Result 277 states and 278 transitions. [2024-11-12 20:52:44,316 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 277 states and 278 transitions. [2024-11-12 20:52:44,318 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:44,319 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 277 states to 277 states and 278 transitions. [2024-11-12 20:52:44,319 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:52:44,319 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:52:44,319 INFO L73 IsDeterministic]: Start isDeterministic. Operand 277 states and 278 transitions. [2024-11-12 20:52:44,319 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:52:44,320 INFO L218 hiAutomatonCegarLoop]: Abstraction has 277 states and 278 transitions. [2024-11-12 20:52:44,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 277 states and 278 transitions. [2024-11-12 20:52:44,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 277 to 276. [2024-11-12 20:52:44,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 276 states, 276 states have (on average 1.0036231884057971) internal successors, (277), 275 states have internal predecessors, (277), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:44,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 276 states to 276 states and 277 transitions. [2024-11-12 20:52:44,323 INFO L240 hiAutomatonCegarLoop]: Abstraction has 276 states and 277 transitions. [2024-11-12 20:52:44,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 137 states. [2024-11-12 20:52:44,324 INFO L426 stractBuchiCegarLoop]: Abstraction has 276 states and 277 transitions. [2024-11-12 20:52:44,324 INFO L333 stractBuchiCegarLoop]: ======== Iteration 25 ============ [2024-11-12 20:52:44,324 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 276 states and 277 transitions. [2024-11-12 20:52:44,326 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:44,326 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:52:44,326 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:52:44,327 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [135, 135, 1, 1, 1, 1] [2024-11-12 20:52:44,327 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:52:44,327 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:52:44,328 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:52:44,328 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:44,328 INFO L85 PathProgramCache]: Analyzing trace with hash 317430425, now seen corresponding path program 23 times [2024-11-12 20:52:44,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:44,329 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [444780289] [2024-11-12 20:52:44,329 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:44,329 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:44,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 20:52:53,414 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 20:52:53,414 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [444780289] [2024-11-12 20:52:53,414 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [444780289] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 20:52:53,414 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1847384252] [2024-11-12 20:52:53,414 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-12 20:52:53,414 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 20:52:53,414 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 20:52:53,416 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 20:52:53,417 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2024-11-12 20:52:53,781 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 20:52:53,781 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 20:52:53,782 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [138] total 138 [2024-11-12 20:52:53,782 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [193390722] [2024-11-12 20:52:53,782 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 20:52:53,782 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 20:52:53,782 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:53,782 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 24 times [2024-11-12 20:52:53,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:53,783 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1324942134] [2024-11-12 20:52:53,783 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:53,783 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:53,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:53,790 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 20:52:53,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 20:52:53,797 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 20:52:53,830 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 20:52:53,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 138 interpolants. [2024-11-12 20:52:53,836 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9453, Invalid=9453, Unknown=0, NotChecked=0, Total=18906 [2024-11-12 20:52:53,837 INFO L87 Difference]: Start difference. First operand 276 states and 277 transitions. cyclomatic complexity: 3 Second operand has 138 states, 138 states have (on average 1.9855072463768115) internal successors, (274), 138 states have internal predecessors, (274), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:54,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 20:52:54,257 INFO L93 Difference]: Finished difference Result 279 states and 280 transitions. [2024-11-12 20:52:54,257 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 279 states and 280 transitions. [2024-11-12 20:52:54,259 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:54,260 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 279 states to 279 states and 280 transitions. [2024-11-12 20:52:54,260 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2024-11-12 20:52:54,261 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6 [2024-11-12 20:52:54,261 INFO L73 IsDeterministic]: Start isDeterministic. Operand 279 states and 280 transitions. [2024-11-12 20:52:54,261 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 20:52:54,261 INFO L218 hiAutomatonCegarLoop]: Abstraction has 279 states and 280 transitions. [2024-11-12 20:52:54,261 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 279 states and 280 transitions. [2024-11-12 20:52:54,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 279 to 278. [2024-11-12 20:52:54,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 278 states, 278 states have (on average 1.0035971223021583) internal successors, (279), 277 states have internal predecessors, (279), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 20:52:54,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 278 states to 278 states and 279 transitions. [2024-11-12 20:52:54,265 INFO L240 hiAutomatonCegarLoop]: Abstraction has 278 states and 279 transitions. [2024-11-12 20:52:54,266 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 138 states. [2024-11-12 20:52:54,266 INFO L426 stractBuchiCegarLoop]: Abstraction has 278 states and 279 transitions. [2024-11-12 20:52:54,266 INFO L333 stractBuchiCegarLoop]: ======== Iteration 26 ============ [2024-11-12 20:52:54,267 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 278 states and 279 transitions. [2024-11-12 20:52:54,268 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2024-11-12 20:52:54,268 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 20:52:54,268 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 20:52:54,269 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [136, 136, 1, 1, 1, 1] [2024-11-12 20:52:54,269 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 20:52:54,270 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_#t~post1#1, main_~i~0#1, main_#t~mem2#1, main_#t~mem3#1, main_~#a~0#1.base, main_~#a~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4192);main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !!(main_~i~0#1 < 1048);havoc main_#t~nondet0#1;call write~int#0(main_#t~nondet0#1, main_~#a~0#1.base, main_~#a~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet0#1;" "main_#t~post1#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post1#1;havoc main_#t~post1#1;" "assume !(main_~i~0#1 < 1048);" "havoc main_~i~0#1;" [2024-11-12 20:52:54,270 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem2#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);" "assume !!(main_#t~mem2#1 >= 0);havoc main_#t~mem2#1;call main_#t~mem3#1 := read~int#0(main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);call write~int#0(main_#t~mem3#1 - 1, main_~#a~0#1.base, 12 + main_~#a~0#1.offset, 4);havoc main_#t~mem3#1;" [2024-11-12 20:52:54,271 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 20:52:54,271 INFO L85 PathProgramCache]: Analyzing trace with hash 108016411, now seen corresponding path program 24 times [2024-11-12 20:52:54,271 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 20:52:54,271 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1909760216] [2024-11-12 20:52:54,271 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 20:52:54,271 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 20:52:54,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat