./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/array-examples/standard_vararg_ground.i --full-output --architecture 32bit -------------------------------------------------------------------------------- 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/array-examples/standard_vararg_ground.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-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 32bit --witnessprinter.graph.data.programhash 28ac72543f751666908cbd68a77fa11ffe4dd886016c3996df45b97bb42d5078 --- Real Ultimate output --- This is Ultimate 0.2.5-wip.dk.perfect-tracechecks-8be7027-m [2024-11-12 21:01:54,660 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-12 21:01:54,727 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2024-11-12 21:01:54,733 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-12 21:01:54,735 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-12 21:01:54,766 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-12 21:01:54,767 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-12 21:01:54,768 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-12 21:01:54,768 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-12 21:01:54,770 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-12 21:01:54,771 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-12 21:01:54,771 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-12 21:01:54,771 INFO L153 SettingsManager]: * Use SBE=true [2024-11-12 21:01:54,772 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-12 21:01:54,772 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-12 21:01:54,772 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-12 21:01:54,772 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-12 21:01:54,773 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-12 21:01:54,773 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-12 21:01:54,773 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-12 21:01:54,774 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-12 21:01:54,774 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-12 21:01:54,778 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-12 21:01:54,778 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-12 21:01:54,779 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-12 21:01:54,779 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-12 21:01:54,779 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-12 21:01:54,779 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-12 21:01:54,780 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-12 21:01:54,780 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-12 21:01:54,780 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-12 21:01:54,780 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-12 21:01:54,780 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-12 21:01:54,781 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-12 21:01:54,781 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-12 21:01:54,783 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-12 21:01:54,783 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-12 21:01:54,784 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-12 21:01:54,784 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-12 21:01:54,784 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 -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 28ac72543f751666908cbd68a77fa11ffe4dd886016c3996df45b97bb42d5078 [2024-11-12 21:01:55,044 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-12 21:01:55,064 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-12 21:01:55,068 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-12 21:01:55,069 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-12 21:01:55,070 INFO L274 PluginConnector]: CDTParser initialized [2024-11-12 21:01:55,071 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-examples/standard_vararg_ground.i [2024-11-12 21:01:56,603 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-12 21:01:56,792 INFO L384 CDTParser]: Found 1 translation units. [2024-11-12 21:01:56,793 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-examples/standard_vararg_ground.i [2024-11-12 21:01:56,805 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/56f9e7b21/c2db17247d0c4a038ea50166229312c4/FLAG1452a7e52 [2024-11-12 21:01:56,821 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/56f9e7b21/c2db17247d0c4a038ea50166229312c4 [2024-11-12 21:01:56,825 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-12 21:01:56,827 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-12 21:01:56,829 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-12 21:01:56,830 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-12 21:01:56,835 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-12 21:01:56,836 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.11 09:01:56" (1/1) ... [2024-11-12 21:01:56,837 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2e380c5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:56, skipping insertion in model container [2024-11-12 21:01:56,837 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.11 09:01:56" (1/1) ... [2024-11-12 21:01:56,868 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-12 21:01:57,067 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-12 21:01:57,079 INFO L200 MainTranslator]: Completed pre-run [2024-11-12 21:01:57,097 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-12 21:01:57,115 INFO L204 MainTranslator]: Completed translation [2024-11-12 21:01:57,115 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57 WrapperNode [2024-11-12 21:01:57,116 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-12 21:01:57,117 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-12 21:01:57,117 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-12 21:01:57,117 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-12 21:01:57,124 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,130 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,147 INFO L138 Inliner]: procedures = 16, calls = 14, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 57 [2024-11-12 21:01:57,148 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-12 21:01:57,148 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-12 21:01:57,148 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-12 21:01:57,149 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-12 21:01:57,158 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,159 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,161 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,179 INFO L175 MemorySlicer]: Split 5 memory accesses to 2 slices as follows [2, 3]. 60 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 1 writes are split as follows [0, 1]. [2024-11-12 21:01:57,180 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,180 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,188 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,195 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,196 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,198 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,200 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-12 21:01:57,205 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-12 21:01:57,205 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-12 21:01:57,205 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-12 21:01:57,206 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (1/1) ... [2024-11-12 21:01:57,211 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:57,222 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:57,238 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 21:01:57,241 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 21:01:57,287 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-12 21:01:57,288 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-12 21:01:57,288 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-12 21:01:57,288 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-11-12 21:01:57,288 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-12 21:01:57,289 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-12 21:01:57,289 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-12 21:01:57,289 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-12 21:01:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-12 21:01:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-12 21:01:57,290 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-11-12 21:01:57,358 INFO L238 CfgBuilder]: Building ICFG [2024-11-12 21:01:57,360 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-12 21:01:57,496 INFO L? ?]: Removed 9 outVars from TransFormulas that were not future-live. [2024-11-12 21:01:57,497 INFO L287 CfgBuilder]: Performing block encoding [2024-11-12 21:01:57,508 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-12 21:01:57,509 INFO L316 CfgBuilder]: Removed 3 assume(true) statements. [2024-11-12 21:01:57,509 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.11 09:01:57 BoogieIcfgContainer [2024-11-12 21:01:57,509 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-12 21:01:57,510 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-12 21:01:57,510 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-12 21:01:57,514 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-12 21:01:57,515 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 21:01:57,515 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 12.11 09:01:56" (1/3) ... [2024-11-12 21:01:57,516 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@66207613 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.11 09:01:57, skipping insertion in model container [2024-11-12 21:01:57,516 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 21:01:57,516 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:01:57" (2/3) ... [2024-11-12 21:01:57,517 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@66207613 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.11 09:01:57, skipping insertion in model container [2024-11-12 21:01:57,517 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 21:01:57,517 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.11 09:01:57" (3/3) ... [2024-11-12 21:01:57,518 INFO L332 chiAutomizerObserver]: Analyzing ICFG standard_vararg_ground.i [2024-11-12 21:01:57,597 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2024-11-12 21:01:57,597 INFO L302 stractBuchiCegarLoop]: Hoare is None [2024-11-12 21:01:57,598 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-12 21:01:57,600 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-12 21:01:57,601 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-12 21:01:57,601 INFO L306 stractBuchiCegarLoop]: Difference is false [2024-11-12 21:01:57,601 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-12 21:01:57,601 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-12 21:01:57,605 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 19 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 18 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:01:57,617 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 11 [2024-11-12 21:01:57,617 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:01:57,618 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:01:57,622 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2024-11-12 21:01:57,622 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:01:57,622 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-12 21:01:57,623 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 19 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 18 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:01:57,624 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 11 [2024-11-12 21:01:57,624 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:01:57,624 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:01:57,625 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2024-11-12 21:01:57,625 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:01:57,630 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" [2024-11-12 21:01:57,630 INFO L749 eck$LassoCheckResult]: Loop: "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" [2024-11-12 21:01:57,636 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:57,637 INFO L85 PathProgramCache]: Analyzing trace with hash 963, now seen corresponding path program 1 times [2024-11-12 21:01:57,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:01:57,645 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1645515773] [2024-11-12 21:01:57,645 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:57,646 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:01:57,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:57,751 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:01:57,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:57,778 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:01:57,780 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:57,781 INFO L85 PathProgramCache]: Analyzing trace with hash 1283, now seen corresponding path program 1 times [2024-11-12 21:01:57,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:01:57,781 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2034714227] [2024-11-12 21:01:57,781 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:57,782 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:01:57,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:57,797 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:01:57,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:57,808 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:01:57,810 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:57,810 INFO L85 PathProgramCache]: Analyzing trace with hash 925765, now seen corresponding path program 1 times [2024-11-12 21:01:57,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:01:57,811 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [120130314] [2024-11-12 21:01:57,811 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:57,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:01:57,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:57,833 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:01:57,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:57,853 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:01:58,237 INFO L204 LassoAnalysis]: Preferences: [2024-11-12 21:01:58,238 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-12 21:01:58,238 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-12 21:01:58,238 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-12 21:01:58,239 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-12 21:01:58,239 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,239 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-12 21:01:58,240 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-12 21:01:58,240 INFO L132 ssoRankerPreferences]: Filename of dumped script: standard_vararg_ground.i_Iteration1_Lasso [2024-11-12 21:01:58,240 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-12 21:01:58,241 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-12 21:01:58,260 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,284 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,288 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,291 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,294 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,297 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,301 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,304 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,308 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,314 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,475 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:01:58,675 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-12 21:01:58,679 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-12 21:01:58,680 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,682 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 21:01:58,684 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 21:01:58,686 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 21:01:58,699 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:58,700 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:58,700 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:58,700 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:58,704 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-12 21:01:58,704 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-12 21:01:58,709 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:58,725 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 21:01:58,726 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,726 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,728 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 21:01:58,729 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 21:01:58,731 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 21:01:58,744 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:58,744 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:58,744 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:58,744 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:58,747 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-12 21:01:58,747 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-12 21:01:58,751 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:58,765 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2024-11-12 21:01:58,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,767 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 21:01:58,768 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 21:01:58,769 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 21:01:58,782 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:58,783 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:01:58,783 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:58,783 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:58,783 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:58,784 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:01:58,784 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:01:58,787 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:58,801 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 21:01:58,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,804 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 21:01:58,806 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 21:01:58,807 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 21:01:58,820 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:58,820 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:01:58,820 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:58,820 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:58,821 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:58,822 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:01:58,822 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:01:58,825 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:58,840 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2024-11-12 21:01:58,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,844 INFO L229 MonitoredProcess]: Starting monitored process 6 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 21:01:58,845 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2024-11-12 21:01:58,847 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 21:01:58,858 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:58,858 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:01:58,858 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:58,858 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:58,858 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:58,859 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:01:58,859 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:01:58,861 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:58,876 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2024-11-12 21:01:58,877 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,877 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,879 INFO L229 MonitoredProcess]: Starting monitored process 7 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 21:01:58,880 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2024-11-12 21:01:58,881 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 21:01:58,892 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:58,892 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:01:58,892 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:58,892 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:58,892 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:58,893 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:01:58,893 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:01:58,895 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:58,905 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2024-11-12 21:01:58,906 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,906 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,907 INFO L229 MonitoredProcess]: Starting monitored process 8 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 21:01:58,909 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2024-11-12 21:01:58,910 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 21:01:58,923 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:58,923 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:01:58,923 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:58,923 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:58,923 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:58,924 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:01:58,924 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:01:58,927 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:58,942 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Ended with exit code 0 [2024-11-12 21:01:58,943 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,945 INFO L229 MonitoredProcess]: Starting monitored process 9 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 21:01:58,947 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2024-11-12 21:01:58,948 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 21:01:58,960 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:58,961 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:58,961 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:58,961 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:58,965 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-12 21:01:58,965 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-12 21:01:58,970 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:58,986 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2024-11-12 21:01:58,986 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:58,987 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:58,988 INFO L229 MonitoredProcess]: Starting monitored process 10 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 21:01:58,990 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2024-11-12 21:01:58,991 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 21:01:59,004 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:59,005 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:01:59,005 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:59,005 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:59,005 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:59,006 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:01:59,006 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:01:59,007 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:59,022 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Ended with exit code 0 [2024-11-12 21:01:59,022 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:59,022 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:59,024 INFO L229 MonitoredProcess]: Starting monitored process 11 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 21:01:59,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2024-11-12 21:01:59,026 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 21:01:59,038 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:59,038 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:01:59,039 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:59,039 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:59,039 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:59,039 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:01:59,039 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:01:59,041 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-12 21:01:59,055 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Ended with exit code 0 [2024-11-12 21:01:59,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:59,056 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:59,057 INFO L229 MonitoredProcess]: Starting monitored process 12 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 21:01:59,059 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2024-11-12 21:01:59,060 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 21:01:59,073 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:01:59,073 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:01:59,073 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:01:59,073 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:01:59,077 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-12 21:01:59,077 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-12 21:01:59,085 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-12 21:01:59,102 INFO L443 ModelExtractionUtils]: Simplification made 8 calls to the SMT solver. [2024-11-12 21:01:59,103 INFO L444 ModelExtractionUtils]: 5 out of 13 variables were initially zero. Simplification set additionally 5 variables to zero. [2024-11-12 21:01:59,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:01:59,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:59,106 INFO L229 MonitoredProcess]: Starting monitored process 13 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 21:01:59,114 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2024-11-12 21:01:59,115 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-12 21:01:59,129 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2024-11-12 21:01:59,130 INFO L474 LassoAnalysis]: Proved termination. [2024-11-12 21:01:59,130 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~i~0#1) = -2*ULTIMATE.start_main_~i~0#1 + 199999 Supporting invariants [] [2024-11-12 21:01:59,145 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2024-11-12 21:01:59,164 INFO L156 tatePredicateManager]: 4 out of 4 supporting invariants were superfluous and have been removed [2024-11-12 21:01:59,191 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:59,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:01:59,205 INFO L256 TraceCheckSpWp]: Trace formula consists of 33 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-12 21:01:59,206 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:01:59,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:01:59,222 INFO L256 TraceCheckSpWp]: Trace formula consists of 13 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-12 21:01:59,223 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:01:59,244 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 21:01:59,277 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 21:01:59,279 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 19 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 18 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 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 21:01:59,326 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 19 states, 18 states have (on average 1.4444444444444444) internal successors, (26), 18 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0). Second operand 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 36 states and 51 transitions. Complement of second has 6 states. [2024-11-12 21:01:59,329 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 21:01:59,336 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 21:01:59,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 25 transitions. [2024-11-12 21:01:59,338 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 25 transitions. Stem has 2 letters. Loop has 2 letters. [2024-11-12 21:01:59,338 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:01:59,339 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 25 transitions. Stem has 4 letters. Loop has 2 letters. [2024-11-12 21:01:59,339 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:01:59,339 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 25 transitions. Stem has 2 letters. Loop has 4 letters. [2024-11-12 21:01:59,340 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:01:59,341 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 36 states and 51 transitions. [2024-11-12 21:01:59,345 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 9 [2024-11-12 21:01:59,351 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 36 states to 16 states and 22 transitions. [2024-11-12 21:01:59,352 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13 [2024-11-12 21:01:59,353 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 14 [2024-11-12 21:01:59,353 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16 states and 22 transitions. [2024-11-12 21:01:59,354 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:01:59,354 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16 states and 22 transitions. [2024-11-12 21:01:59,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16 states and 22 transitions. [2024-11-12 21:01:59,393 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16 to 16. [2024-11-12 21:01:59,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.375) internal successors, (22), 15 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 21:01:59,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 22 transitions. [2024-11-12 21:01:59,394 INFO L240 hiAutomatonCegarLoop]: Abstraction has 16 states and 22 transitions. [2024-11-12 21:01:59,394 INFO L426 stractBuchiCegarLoop]: Abstraction has 16 states and 22 transitions. [2024-11-12 21:01:59,394 INFO L333 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-12 21:01:59,394 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 16 states and 22 transitions. [2024-11-12 21:01:59,395 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 9 [2024-11-12 21:01:59,395 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:01:59,395 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:01:59,396 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-12 21:01:59,396 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:01:59,396 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:01:59,396 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:01:59,396 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:59,397 INFO L85 PathProgramCache]: Analyzing trace with hash 925707, now seen corresponding path program 1 times [2024-11-12 21:01:59,397 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:01:59,397 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [676836390] [2024-11-12 21:01:59,397 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:59,397 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:01:59,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:01:59,413 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Ended with exit code 0 [2024-11-12 21:01:59,487 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:01:59,487 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [676836390] [2024-11-12 21:01:59,487 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [676836390] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:01:59,487 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2112680046] [2024-11-12 21:01:59,488 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:59,488 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:01:59,488 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:59,490 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 21:01:59,491 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 21:01:59,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:01:59,538 INFO L256 TraceCheckSpWp]: Trace formula consists of 35 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-12 21:01:59,538 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:01:59,546 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:01:59,557 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2112680046] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:01:59,559 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:01:59,559 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 5 [2024-11-12 21:01:59,560 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769090242] [2024-11-12 21:01:59,560 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:01:59,563 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:01:59,564 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:59,564 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 1 times [2024-11-12 21:01:59,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:01:59,564 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1221354220] [2024-11-12 21:01:59,565 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:59,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:01:59,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:59,573 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:01:59,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:59,581 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:01:59,621 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:01:59,623 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-12 21:01:59,624 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2024-11-12 21:01:59,625 INFO L87 Difference]: Start difference. First operand 16 states and 22 transitions. cyclomatic complexity: 9 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 21:01:59,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:01:59,645 INFO L93 Difference]: Finished difference Result 17 states and 19 transitions. [2024-11-12 21:01:59,646 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17 states and 19 transitions. [2024-11-12 21:01:59,647 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:01:59,648 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17 states to 15 states and 17 transitions. [2024-11-12 21:01:59,649 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:01:59,649 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:01:59,650 INFO L73 IsDeterministic]: Start isDeterministic. Operand 15 states and 17 transitions. [2024-11-12 21:01:59,650 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:01:59,651 INFO L218 hiAutomatonCegarLoop]: Abstraction has 15 states and 17 transitions. [2024-11-12 21:01:59,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 15 states and 17 transitions. [2024-11-12 21:01:59,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 15 to 15. [2024-11-12 21:01:59,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.1333333333333333) internal successors, (17), 14 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 21:01:59,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 17 transitions. [2024-11-12 21:01:59,652 INFO L240 hiAutomatonCegarLoop]: Abstraction has 15 states and 17 transitions. [2024-11-12 21:01:59,654 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-12 21:01:59,654 INFO L426 stractBuchiCegarLoop]: Abstraction has 15 states and 17 transitions. [2024-11-12 21:01:59,654 INFO L333 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-12 21:01:59,655 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 15 states and 17 transitions. [2024-11-12 21:01:59,656 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:01:59,657 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:01:59,657 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:01:59,657 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1] [2024-11-12 21:01:59,657 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:01:59,657 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:01:59,658 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:01:59,658 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:59,659 INFO L85 PathProgramCache]: Analyzing trace with hash 265236367, now seen corresponding path program 1 times [2024-11-12 21:01:59,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:01:59,660 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2022464323] [2024-11-12 21:01:59,660 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:59,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:01:59,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:01:59,745 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:01:59,745 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2022464323] [2024-11-12 21:01:59,746 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2022464323] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:01:59,746 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1864545900] [2024-11-12 21:01:59,746 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:59,746 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:01:59,746 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:01:59,747 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 21:01:59,748 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 21:01:59,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:01:59,787 INFO L256 TraceCheckSpWp]: Trace formula consists of 57 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-12 21:01:59,788 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:01:59,806 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:01:59,836 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1864545900] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:01:59,836 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:01:59,836 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 9 [2024-11-12 21:01:59,837 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1550796123] [2024-11-12 21:01:59,837 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:01:59,837 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:01:59,837 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:59,838 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 2 times [2024-11-12 21:01:59,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:01:59,838 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1615630392] [2024-11-12 21:01:59,838 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:59,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:01:59,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:59,842 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:01:59,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:01:59,846 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:01:59,881 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:01:59,882 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-11-12 21:01:59,882 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2024-11-12 21:01:59,883 INFO L87 Difference]: Start difference. First operand 15 states and 17 transitions. cyclomatic complexity: 5 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 21:01:59,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:01:59,912 INFO L93 Difference]: Finished difference Result 23 states and 25 transitions. [2024-11-12 21:01:59,912 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 23 states and 25 transitions. [2024-11-12 21:01:59,913 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:01:59,914 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 23 states to 23 states and 25 transitions. [2024-11-12 21:01:59,914 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:01:59,914 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:01:59,914 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 25 transitions. [2024-11-12 21:01:59,914 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:01:59,914 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23 states and 25 transitions. [2024-11-12 21:01:59,915 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 25 transitions. [2024-11-12 21:01:59,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2024-11-12 21:01:59,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.0869565217391304) internal successors, (25), 22 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 21:01:59,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 25 transitions. [2024-11-12 21:01:59,917 INFO L240 hiAutomatonCegarLoop]: Abstraction has 23 states and 25 transitions. [2024-11-12 21:01:59,917 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-12 21:01:59,918 INFO L426 stractBuchiCegarLoop]: Abstraction has 23 states and 25 transitions. [2024-11-12 21:01:59,918 INFO L333 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-12 21:01:59,918 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 23 states and 25 transitions. [2024-11-12 21:01:59,919 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:01:59,919 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:01:59,919 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:01:59,919 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 1, 1, 1, 1] [2024-11-12 21:01:59,919 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:01:59,919 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:01:59,919 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:01:59,920 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:01:59,920 INFO L85 PathProgramCache]: Analyzing trace with hash 1715480727, now seen corresponding path program 2 times [2024-11-12 21:01:59,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:01:59,920 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1113305759] [2024-11-12 21:01:59,920 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:01:59,920 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:01:59,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:00,079 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:00,079 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1113305759] [2024-11-12 21:02:00,080 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1113305759] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:00,080 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [848392046] [2024-11-12 21:02:00,080 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-12 21:02:00,080 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:00,080 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:00,083 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 21:02:00,084 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 21:02:00,132 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:00,133 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:00,133 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2024-11-12 21:02:00,133 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1052212368] [2024-11-12 21:02:00,133 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:00,133 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:00,134 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:00,134 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 3 times [2024-11-12 21:02:00,134 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:00,134 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [93861107] [2024-11-12 21:02:00,134 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:00,134 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:00,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:00,138 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:00,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:00,150 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:00,195 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:00,195 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-11-12 21:02:00,196 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2024-11-12 21:02:00,196 INFO L87 Difference]: Start difference. First operand 23 states and 25 transitions. cyclomatic complexity: 5 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 21:02:00,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:00,229 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2024-11-12 21:02:00,230 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 26 states and 28 transitions. [2024-11-12 21:02:00,231 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:00,231 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 26 states to 26 states and 28 transitions. [2024-11-12 21:02:00,233 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:00,233 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:00,233 INFO L73 IsDeterministic]: Start isDeterministic. Operand 26 states and 28 transitions. [2024-11-12 21:02:00,233 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:00,234 INFO L218 hiAutomatonCegarLoop]: Abstraction has 26 states and 28 transitions. [2024-11-12 21:02:00,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states and 28 transitions. [2024-11-12 21:02:00,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2024-11-12 21:02:00,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.08) internal successors, (27), 24 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:02:00,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 27 transitions. [2024-11-12 21:02:00,237 INFO L240 hiAutomatonCegarLoop]: Abstraction has 25 states and 27 transitions. [2024-11-12 21:02:00,237 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-11-12 21:02:00,237 INFO L426 stractBuchiCegarLoop]: Abstraction has 25 states and 27 transitions. [2024-11-12 21:02:00,239 INFO L333 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-12 21:02:00,239 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 25 states and 27 transitions. [2024-11-12 21:02:00,240 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:00,240 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:00,240 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:00,240 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 1, 1, 1, 1] [2024-11-12 21:02:00,241 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:00,241 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:00,241 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:00,241 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:00,241 INFO L85 PathProgramCache]: Analyzing trace with hash -690407015, now seen corresponding path program 3 times [2024-11-12 21:02:00,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:00,241 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1940321520] [2024-11-12 21:02:00,242 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:00,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:00,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:00,450 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:00,450 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1940321520] [2024-11-12 21:02:00,451 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1940321520] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:00,451 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [857277572] [2024-11-12 21:02:00,451 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-12 21:02:00,451 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:00,451 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:00,453 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 21:02:00,455 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 21:02:00,495 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:00,495 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:00,496 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2024-11-12 21:02:00,496 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [89688867] [2024-11-12 21:02:00,496 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:00,496 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:00,496 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:00,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 4 times [2024-11-12 21:02:00,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:00,497 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [619838648] [2024-11-12 21:02:00,497 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:00,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:00,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:00,501 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:00,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:00,503 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:00,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:00,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-11-12 21:02:00,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2024-11-12 21:02:00,537 INFO L87 Difference]: Start difference. First operand 25 states and 27 transitions. cyclomatic complexity: 5 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 21:02:00,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:00,566 INFO L93 Difference]: Finished difference Result 28 states and 30 transitions. [2024-11-12 21:02:00,566 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28 states and 30 transitions. [2024-11-12 21:02:00,567 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:00,568 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28 states to 28 states and 30 transitions. [2024-11-12 21:02:00,568 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:00,568 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:00,568 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28 states and 30 transitions. [2024-11-12 21:02:00,568 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:00,568 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28 states and 30 transitions. [2024-11-12 21:02:00,569 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states and 30 transitions. [2024-11-12 21:02:00,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2024-11-12 21:02:00,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.0740740740740742) internal successors, (29), 26 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 21:02:00,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 29 transitions. [2024-11-12 21:02:00,573 INFO L240 hiAutomatonCegarLoop]: Abstraction has 27 states and 29 transitions. [2024-11-12 21:02:00,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-11-12 21:02:00,574 INFO L426 stractBuchiCegarLoop]: Abstraction has 27 states and 29 transitions. [2024-11-12 21:02:00,575 INFO L333 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-12 21:02:00,575 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 27 states and 29 transitions. [2024-11-12 21:02:00,575 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:00,575 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:00,575 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:00,576 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 1, 1, 1, 1] [2024-11-12 21:02:00,576 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:00,576 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:00,576 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:00,577 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:00,577 INFO L85 PathProgramCache]: Analyzing trace with hash -2056121829, now seen corresponding path program 4 times [2024-11-12 21:02:00,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:00,577 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [953351640] [2024-11-12 21:02:00,577 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:00,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:00,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:00,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:00,779 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [953351640] [2024-11-12 21:02:00,779 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [953351640] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:00,779 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1368279207] [2024-11-12 21:02:00,779 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-12 21:02:00,779 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:00,780 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:00,781 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 21:02:00,783 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 21:02:00,828 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:00,829 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:00,829 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2024-11-12 21:02:00,829 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2096861912] [2024-11-12 21:02:00,829 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:00,829 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:00,830 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:00,830 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 5 times [2024-11-12 21:02:00,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:00,830 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [493400708] [2024-11-12 21:02:00,830 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:00,831 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:00,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:00,834 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:00,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:00,837 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:00,870 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:00,871 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2024-11-12 21:02:00,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2024-11-12 21:02:00,871 INFO L87 Difference]: Start difference. First operand 27 states and 29 transitions. cyclomatic complexity: 5 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 21:02:00,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:00,904 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2024-11-12 21:02:00,904 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 30 states and 32 transitions. [2024-11-12 21:02:00,905 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:00,905 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 30 states to 30 states and 32 transitions. [2024-11-12 21:02:00,906 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:00,906 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:00,906 INFO L73 IsDeterministic]: Start isDeterministic. Operand 30 states and 32 transitions. [2024-11-12 21:02:00,906 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:00,906 INFO L218 hiAutomatonCegarLoop]: Abstraction has 30 states and 32 transitions. [2024-11-12 21:02:00,907 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states and 32 transitions. [2024-11-12 21:02:00,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2024-11-12 21:02:00,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.0689655172413792) internal successors, (31), 28 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:02:00,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2024-11-12 21:02:00,909 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29 states and 31 transitions. [2024-11-12 21:02:00,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2024-11-12 21:02:00,909 INFO L426 stractBuchiCegarLoop]: Abstraction has 29 states and 31 transitions. [2024-11-12 21:02:00,910 INFO L333 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-12 21:02:00,910 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 31 transitions. [2024-11-12 21:02:00,910 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:00,910 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:00,911 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:00,911 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 1, 1, 1, 1] [2024-11-12 21:02:00,911 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:00,911 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:00,911 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:00,912 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:00,912 INFO L85 PathProgramCache]: Analyzing trace with hash -248065507, now seen corresponding path program 5 times [2024-11-12 21:02:00,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:00,912 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576146326] [2024-11-12 21:02:00,912 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:00,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:00,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:01,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:01,060 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1576146326] [2024-11-12 21:02:01,060 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1576146326] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:01,060 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [870438165] [2024-11-12 21:02:01,060 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-12 21:02:01,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:01,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:01,063 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 21:02:01,065 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 21:02:01,114 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:01,114 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:01,114 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2024-11-12 21:02:01,115 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [456933890] [2024-11-12 21:02:01,115 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:01,115 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:01,115 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:01,115 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 6 times [2024-11-12 21:02:01,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:01,116 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [365562099] [2024-11-12 21:02:01,116 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:01,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:01,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:01,119 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:01,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:01,121 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:01,159 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:01,159 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-11-12 21:02:01,159 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2024-11-12 21:02:01,160 INFO L87 Difference]: Start difference. First operand 29 states and 31 transitions. cyclomatic complexity: 5 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 21:02:01,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:01,197 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2024-11-12 21:02:01,197 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32 states and 34 transitions. [2024-11-12 21:02:01,197 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:01,198 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32 states to 32 states and 34 transitions. [2024-11-12 21:02:01,198 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:01,198 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:01,198 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32 states and 34 transitions. [2024-11-12 21:02:01,198 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:01,198 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32 states and 34 transitions. [2024-11-12 21:02:01,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states and 34 transitions. [2024-11-12 21:02:01,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2024-11-12 21:02:01,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.064516129032258) internal successors, (33), 30 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:02:01,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 33 transitions. [2024-11-12 21:02:01,202 INFO L240 hiAutomatonCegarLoop]: Abstraction has 31 states and 33 transitions. [2024-11-12 21:02:01,203 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2024-11-12 21:02:01,204 INFO L426 stractBuchiCegarLoop]: Abstraction has 31 states and 33 transitions. [2024-11-12 21:02:01,204 INFO L333 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-12 21:02:01,205 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 33 transitions. [2024-11-12 21:02:01,205 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:01,205 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:01,205 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:01,206 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 1, 1, 1, 1] [2024-11-12 21:02:01,206 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:01,206 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:01,206 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:01,206 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:01,206 INFO L85 PathProgramCache]: Analyzing trace with hash 2127272351, now seen corresponding path program 6 times [2024-11-12 21:02:01,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:01,207 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [719256685] [2024-11-12 21:02:01,207 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:01,207 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:01,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:01,393 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:01,393 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [719256685] [2024-11-12 21:02:01,393 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [719256685] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:01,393 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1624974738] [2024-11-12 21:02:01,393 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-12 21:02:01,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:01,394 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:01,395 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 21:02:01,408 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 21:02:01,464 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:01,464 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:01,465 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2024-11-12 21:02:01,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [810473470] [2024-11-12 21:02:01,465 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:01,465 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:01,466 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:01,466 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 7 times [2024-11-12 21:02:01,466 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:01,466 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2099440322] [2024-11-12 21:02:01,466 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:01,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:01,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:01,470 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:01,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:01,474 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:01,511 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:01,511 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-11-12 21:02:01,512 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2024-11-12 21:02:01,512 INFO L87 Difference]: Start difference. First operand 31 states and 33 transitions. cyclomatic complexity: 5 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 21:02:01,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:01,549 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2024-11-12 21:02:01,550 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 34 states and 36 transitions. [2024-11-12 21:02:01,550 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:01,551 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 34 states to 34 states and 36 transitions. [2024-11-12 21:02:01,551 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:01,552 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:01,552 INFO L73 IsDeterministic]: Start isDeterministic. Operand 34 states and 36 transitions. [2024-11-12 21:02:01,553 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:01,553 INFO L218 hiAutomatonCegarLoop]: Abstraction has 34 states and 36 transitions. [2024-11-12 21:02:01,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states and 36 transitions. [2024-11-12 21:02:01,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2024-11-12 21:02:01,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.0606060606060606) internal successors, (35), 32 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:02:01,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 35 transitions. [2024-11-12 21:02:01,556 INFO L240 hiAutomatonCegarLoop]: Abstraction has 33 states and 35 transitions. [2024-11-12 21:02:01,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2024-11-12 21:02:01,558 INFO L426 stractBuchiCegarLoop]: Abstraction has 33 states and 35 transitions. [2024-11-12 21:02:01,560 INFO L333 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-12 21:02:01,560 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states and 35 transitions. [2024-11-12 21:02:01,561 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:01,561 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:01,561 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:01,561 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 1, 1, 1, 1] [2024-11-12 21:02:01,562 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:01,562 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:01,562 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:01,562 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:01,562 INFO L85 PathProgramCache]: Analyzing trace with hash -95647583, now seen corresponding path program 7 times [2024-11-12 21:02:01,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:01,562 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1529457739] [2024-11-12 21:02:01,563 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:01,563 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:01,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:01,771 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:01,771 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1529457739] [2024-11-12 21:02:01,771 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1529457739] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:01,772 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1640179750] [2024-11-12 21:02:01,772 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-12 21:02:01,772 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:01,772 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:01,774 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 21:02:01,776 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 21:02:01,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:01,856 INFO L256 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 13 conjuncts are in the unsatisfiable core [2024-11-12 21:02:01,858 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:02:01,905 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:02:02,165 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1640179750] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:02:02,165 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:02:02,165 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14, 14] total 27 [2024-11-12 21:02:02,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1049965542] [2024-11-12 21:02:02,165 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:02,166 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:02,166 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:02,166 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 8 times [2024-11-12 21:02:02,166 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:02,167 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1618882792] [2024-11-12 21:02:02,167 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:02,167 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:02,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:02,171 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:02,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:02,173 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:02,205 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:02,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2024-11-12 21:02:02,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=351, Invalid=351, Unknown=0, NotChecked=0, Total=702 [2024-11-12 21:02:02,206 INFO L87 Difference]: Start difference. First operand 33 states and 35 transitions. cyclomatic complexity: 5 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 21:02:02,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:02,289 INFO L93 Difference]: Finished difference Result 59 states and 61 transitions. [2024-11-12 21:02:02,289 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 59 states and 61 transitions. [2024-11-12 21:02:02,290 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:02,291 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 59 states to 59 states and 61 transitions. [2024-11-12 21:02:02,291 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:02,291 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:02,291 INFO L73 IsDeterministic]: Start isDeterministic. Operand 59 states and 61 transitions. [2024-11-12 21:02:02,291 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:02,291 INFO L218 hiAutomatonCegarLoop]: Abstraction has 59 states and 61 transitions. [2024-11-12 21:02:02,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states and 61 transitions. [2024-11-12 21:02:02,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 59. [2024-11-12 21:02:02,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 59 states have (on average 1.0338983050847457) internal successors, (61), 58 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 21:02:02,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 61 transitions. [2024-11-12 21:02:02,297 INFO L240 hiAutomatonCegarLoop]: Abstraction has 59 states and 61 transitions. [2024-11-12 21:02:02,297 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2024-11-12 21:02:02,298 INFO L426 stractBuchiCegarLoop]: Abstraction has 59 states and 61 transitions. [2024-11-12 21:02:02,299 INFO L333 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-12 21:02:02,299 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 59 states and 61 transitions. [2024-11-12 21:02:02,300 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:02,300 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:02,300 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:02,301 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 24, 1, 1, 1, 1] [2024-11-12 21:02:02,301 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:02,301 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:02,301 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:02,303 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:02,303 INFO L85 PathProgramCache]: Analyzing trace with hash -1981311429, now seen corresponding path program 8 times [2024-11-12 21:02:02,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:02,303 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1338048391] [2024-11-12 21:02:02,304 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:02,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:02,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:03,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:03,030 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1338048391] [2024-11-12 21:02:03,030 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1338048391] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:03,030 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1328691744] [2024-11-12 21:02:03,030 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-12 21:02:03,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:03,030 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:03,032 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 21:02:03,033 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 21:02:03,126 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:03,127 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:03,127 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27] total 27 [2024-11-12 21:02:03,127 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1628589876] [2024-11-12 21:02:03,127 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:03,127 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:03,128 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:03,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 9 times [2024-11-12 21:02:03,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:03,128 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [320787098] [2024-11-12 21:02:03,128 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:03,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:03,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:03,134 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:03,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:03,137 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:03,169 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:03,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2024-11-12 21:02:03,170 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=351, Invalid=351, Unknown=0, NotChecked=0, Total=702 [2024-11-12 21:02:03,170 INFO L87 Difference]: Start difference. First operand 59 states and 61 transitions. cyclomatic complexity: 5 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 21:02:03,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:03,246 INFO L93 Difference]: Finished difference Result 62 states and 64 transitions. [2024-11-12 21:02:03,246 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 62 states and 64 transitions. [2024-11-12 21:02:03,247 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:03,248 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 62 states to 62 states and 64 transitions. [2024-11-12 21:02:03,248 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:03,248 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:03,248 INFO L73 IsDeterministic]: Start isDeterministic. Operand 62 states and 64 transitions. [2024-11-12 21:02:03,248 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:03,248 INFO L218 hiAutomatonCegarLoop]: Abstraction has 62 states and 64 transitions. [2024-11-12 21:02:03,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states and 64 transitions. [2024-11-12 21:02:03,252 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 61. [2024-11-12 21:02:03,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 61 states have (on average 1.0327868852459017) internal successors, (63), 60 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 21:02:03,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 63 transitions. [2024-11-12 21:02:03,255 INFO L240 hiAutomatonCegarLoop]: Abstraction has 61 states and 63 transitions. [2024-11-12 21:02:03,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2024-11-12 21:02:03,258 INFO L426 stractBuchiCegarLoop]: Abstraction has 61 states and 63 transitions. [2024-11-12 21:02:03,259 INFO L333 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-12 21:02:03,259 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 61 states and 63 transitions. [2024-11-12 21:02:03,259 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:03,259 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:03,259 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:03,260 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [25, 25, 1, 1, 1, 1] [2024-11-12 21:02:03,260 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:03,260 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:03,263 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:03,263 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:03,263 INFO L85 PathProgramCache]: Analyzing trace with hash -1369715139, now seen corresponding path program 9 times [2024-11-12 21:02:03,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:03,263 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1524910011] [2024-11-12 21:02:03,263 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:03,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:03,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:03,914 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:03,914 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1524910011] [2024-11-12 21:02:03,915 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1524910011] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:03,915 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [648999606] [2024-11-12 21:02:03,915 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-12 21:02:03,915 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:03,915 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:03,917 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 21:02:03,918 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 21:02:03,991 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:03,992 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:03,992 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28] total 28 [2024-11-12 21:02:03,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1784461351] [2024-11-12 21:02:03,992 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:03,992 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:03,992 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:03,993 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 10 times [2024-11-12 21:02:03,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:03,993 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1269356759] [2024-11-12 21:02:03,993 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:03,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:03,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:03,996 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:03,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:03,999 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:04,031 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:04,032 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2024-11-12 21:02:04,032 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=378, Invalid=378, Unknown=0, NotChecked=0, Total=756 [2024-11-12 21:02:04,032 INFO L87 Difference]: Start difference. First operand 61 states and 63 transitions. cyclomatic complexity: 5 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 21:02:04,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:04,113 INFO L93 Difference]: Finished difference Result 64 states and 66 transitions. [2024-11-12 21:02:04,114 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 64 states and 66 transitions. [2024-11-12 21:02:04,114 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:04,115 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 64 states to 64 states and 66 transitions. [2024-11-12 21:02:04,115 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:04,115 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:04,115 INFO L73 IsDeterministic]: Start isDeterministic. Operand 64 states and 66 transitions. [2024-11-12 21:02:04,115 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:04,115 INFO L218 hiAutomatonCegarLoop]: Abstraction has 64 states and 66 transitions. [2024-11-12 21:02:04,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states and 66 transitions. [2024-11-12 21:02:04,117 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2024-11-12 21:02:04,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 63 states have (on average 1.0317460317460319) internal successors, (65), 62 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 21:02:04,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 65 transitions. [2024-11-12 21:02:04,118 INFO L240 hiAutomatonCegarLoop]: Abstraction has 63 states and 65 transitions. [2024-11-12 21:02:04,118 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2024-11-12 21:02:04,119 INFO L426 stractBuchiCegarLoop]: Abstraction has 63 states and 65 transitions. [2024-11-12 21:02:04,119 INFO L333 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-11-12 21:02:04,119 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 63 states and 65 transitions. [2024-11-12 21:02:04,119 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:04,119 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:04,119 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:04,120 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [26, 26, 1, 1, 1, 1] [2024-11-12 21:02:04,120 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:04,120 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:04,120 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:04,121 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:04,121 INFO L85 PathProgramCache]: Analyzing trace with hash -2036200001, now seen corresponding path program 10 times [2024-11-12 21:02:04,121 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:04,121 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [381028619] [2024-11-12 21:02:04,121 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:04,121 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:04,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:04,733 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:04,734 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [381028619] [2024-11-12 21:02:04,734 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [381028619] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:04,734 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [441143759] [2024-11-12 21:02:04,734 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-12 21:02:04,734 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:04,734 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:04,736 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 21:02:04,737 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 21:02:04,817 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:04,817 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:04,817 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29] total 29 [2024-11-12 21:02:04,817 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [371766691] [2024-11-12 21:02:04,817 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:04,818 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:04,818 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:04,818 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 11 times [2024-11-12 21:02:04,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:04,818 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [492749533] [2024-11-12 21:02:04,819 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:04,819 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:04,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:04,822 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:04,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:04,824 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:04,856 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:04,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2024-11-12 21:02:04,858 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=406, Invalid=406, Unknown=0, NotChecked=0, Total=812 [2024-11-12 21:02:04,858 INFO L87 Difference]: Start difference. First operand 63 states and 65 transitions. cyclomatic complexity: 5 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 21:02:04,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:04,930 INFO L93 Difference]: Finished difference Result 66 states and 68 transitions. [2024-11-12 21:02:04,930 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 66 states and 68 transitions. [2024-11-12 21:02:04,931 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:04,932 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 66 states to 66 states and 68 transitions. [2024-11-12 21:02:04,932 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:04,932 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:04,932 INFO L73 IsDeterministic]: Start isDeterministic. Operand 66 states and 68 transitions. [2024-11-12 21:02:04,932 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:04,932 INFO L218 hiAutomatonCegarLoop]: Abstraction has 66 states and 68 transitions. [2024-11-12 21:02:04,933 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states and 68 transitions. [2024-11-12 21:02:04,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 65. [2024-11-12 21:02:04,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 65 states have (on average 1.0307692307692307) internal successors, (67), 64 states have internal predecessors, (67), 0 states have call successors, (0), 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 21:02:04,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 67 transitions. [2024-11-12 21:02:04,935 INFO L240 hiAutomatonCegarLoop]: Abstraction has 65 states and 67 transitions. [2024-11-12 21:02:04,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-11-12 21:02:04,936 INFO L426 stractBuchiCegarLoop]: Abstraction has 65 states and 67 transitions. [2024-11-12 21:02:04,936 INFO L333 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-11-12 21:02:04,936 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 65 states and 67 transitions. [2024-11-12 21:02:04,937 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:04,937 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:04,937 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:04,938 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [27, 27, 1, 1, 1, 1] [2024-11-12 21:02:04,938 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:04,938 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:04,938 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:04,938 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:04,939 INFO L85 PathProgramCache]: Analyzing trace with hash 1716942017, now seen corresponding path program 11 times [2024-11-12 21:02:04,939 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:04,939 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1617708464] [2024-11-12 21:02:04,939 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:04,939 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:04,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:05,575 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:05,576 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1617708464] [2024-11-12 21:02:05,576 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1617708464] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:05,576 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [517202201] [2024-11-12 21:02:05,576 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-12 21:02:05,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:05,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:05,578 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 21:02:05,579 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 21:02:05,679 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:05,679 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:05,680 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30] total 30 [2024-11-12 21:02:05,680 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1744067827] [2024-11-12 21:02:05,680 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:05,680 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:05,680 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:05,680 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 12 times [2024-11-12 21:02:05,681 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:05,681 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1718805296] [2024-11-12 21:02:05,681 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:05,681 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:05,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:05,684 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:05,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:05,687 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:05,719 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:05,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2024-11-12 21:02:05,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=435, Invalid=435, Unknown=0, NotChecked=0, Total=870 [2024-11-12 21:02:05,720 INFO L87 Difference]: Start difference. First operand 65 states and 67 transitions. cyclomatic complexity: 5 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 21:02:05,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:05,797 INFO L93 Difference]: Finished difference Result 68 states and 70 transitions. [2024-11-12 21:02:05,798 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 68 states and 70 transitions. [2024-11-12 21:02:05,798 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:05,799 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 68 states to 68 states and 70 transitions. [2024-11-12 21:02:05,799 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:05,799 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:05,799 INFO L73 IsDeterministic]: Start isDeterministic. Operand 68 states and 70 transitions. [2024-11-12 21:02:05,799 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:05,799 INFO L218 hiAutomatonCegarLoop]: Abstraction has 68 states and 70 transitions. [2024-11-12 21:02:05,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states and 70 transitions. [2024-11-12 21:02:05,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 67. [2024-11-12 21:02:05,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 67 states have (on average 1.0298507462686568) internal successors, (69), 66 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:02:05,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 69 transitions. [2024-11-12 21:02:05,803 INFO L240 hiAutomatonCegarLoop]: Abstraction has 67 states and 69 transitions. [2024-11-12 21:02:05,806 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2024-11-12 21:02:05,806 INFO L426 stractBuchiCegarLoop]: Abstraction has 67 states and 69 transitions. [2024-11-12 21:02:05,806 INFO L333 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-11-12 21:02:05,806 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 67 states and 69 transitions. [2024-11-12 21:02:05,807 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:05,807 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:05,807 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:05,808 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [28, 28, 1, 1, 1, 1] [2024-11-12 21:02:05,808 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:05,808 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:05,808 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:05,809 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:05,809 INFO L85 PathProgramCache]: Analyzing trace with hash 713892675, now seen corresponding path program 12 times [2024-11-12 21:02:05,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:05,809 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [92370666] [2024-11-12 21:02:05,809 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:05,809 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:05,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:06,530 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:06,530 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [92370666] [2024-11-12 21:02:06,531 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [92370666] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:06,531 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1500387240] [2024-11-12 21:02:06,531 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-12 21:02:06,531 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:06,531 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:06,533 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 21:02:06,535 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 21:02:06,625 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:06,625 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:06,625 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31] total 31 [2024-11-12 21:02:06,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2132282545] [2024-11-12 21:02:06,625 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:06,626 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:06,626 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:06,626 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 13 times [2024-11-12 21:02:06,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:06,626 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [546334073] [2024-11-12 21:02:06,626 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:06,626 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:06,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:06,630 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:06,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:06,633 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:06,669 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:06,669 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2024-11-12 21:02:06,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=465, Invalid=465, Unknown=0, NotChecked=0, Total=930 [2024-11-12 21:02:06,670 INFO L87 Difference]: Start difference. First operand 67 states and 69 transitions. cyclomatic complexity: 5 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 21:02:06,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:06,748 INFO L93 Difference]: Finished difference Result 70 states and 72 transitions. [2024-11-12 21:02:06,748 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 70 states and 72 transitions. [2024-11-12 21:02:06,748 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:06,749 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 70 states to 70 states and 72 transitions. [2024-11-12 21:02:06,749 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:06,749 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:06,749 INFO L73 IsDeterministic]: Start isDeterministic. Operand 70 states and 72 transitions. [2024-11-12 21:02:06,749 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:06,749 INFO L218 hiAutomatonCegarLoop]: Abstraction has 70 states and 72 transitions. [2024-11-12 21:02:06,750 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states and 72 transitions. [2024-11-12 21:02:06,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2024-11-12 21:02:06,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 69 states have (on average 1.0289855072463767) internal successors, (71), 68 states have internal predecessors, (71), 0 states have call successors, (0), 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 21:02:06,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 71 transitions. [2024-11-12 21:02:06,752 INFO L240 hiAutomatonCegarLoop]: Abstraction has 69 states and 71 transitions. [2024-11-12 21:02:06,753 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2024-11-12 21:02:06,754 INFO L426 stractBuchiCegarLoop]: Abstraction has 69 states and 71 transitions. [2024-11-12 21:02:06,754 INFO L333 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2024-11-12 21:02:06,754 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 69 states and 71 transitions. [2024-11-12 21:02:06,754 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:06,754 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:06,755 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:06,755 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [29, 29, 1, 1, 1, 1] [2024-11-12 21:02:06,755 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:06,756 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:06,757 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:06,757 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:06,757 INFO L85 PathProgramCache]: Analyzing trace with hash -1143850683, now seen corresponding path program 13 times [2024-11-12 21:02:06,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:06,757 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [239982427] [2024-11-12 21:02:06,758 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:06,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:06,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:07,479 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:07,479 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [239982427] [2024-11-12 21:02:07,479 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [239982427] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:07,479 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2077695529] [2024-11-12 21:02:07,479 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-12 21:02:07,479 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:07,480 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:07,482 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 21:02:07,483 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 21:02:07,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:07,629 INFO L256 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 31 conjuncts are in the unsatisfiable core [2024-11-12 21:02:07,632 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:02:07,739 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:02:09,018 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2077695529] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:02:09,018 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:02:09,018 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 32, 32] total 63 [2024-11-12 21:02:09,018 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1060045477] [2024-11-12 21:02:09,018 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:09,019 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:09,019 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:09,019 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 14 times [2024-11-12 21:02:09,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:09,019 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [143989405] [2024-11-12 21:02:09,019 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:09,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:09,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:09,024 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:09,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:09,026 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:09,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:09,060 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 63 interpolants. [2024-11-12 21:02:09,061 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1953, Invalid=1953, Unknown=0, NotChecked=0, Total=3906 [2024-11-12 21:02:09,061 INFO L87 Difference]: Start difference. First operand 69 states and 71 transitions. cyclomatic complexity: 5 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 21:02:09,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:09,215 INFO L93 Difference]: Finished difference Result 131 states and 133 transitions. [2024-11-12 21:02:09,215 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 131 states and 133 transitions. [2024-11-12 21:02:09,217 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:09,217 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 131 states to 131 states and 133 transitions. [2024-11-12 21:02:09,217 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:09,218 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:09,218 INFO L73 IsDeterministic]: Start isDeterministic. Operand 131 states and 133 transitions. [2024-11-12 21:02:09,218 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:09,218 INFO L218 hiAutomatonCegarLoop]: Abstraction has 131 states and 133 transitions. [2024-11-12 21:02:09,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states and 133 transitions. [2024-11-12 21:02:09,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2024-11-12 21:02:09,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 131 states have (on average 1.015267175572519) internal successors, (133), 130 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 21:02:09,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 133 transitions. [2024-11-12 21:02:09,222 INFO L240 hiAutomatonCegarLoop]: Abstraction has 131 states and 133 transitions. [2024-11-12 21:02:09,222 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 62 states. [2024-11-12 21:02:09,222 INFO L426 stractBuchiCegarLoop]: Abstraction has 131 states and 133 transitions. [2024-11-12 21:02:09,222 INFO L333 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2024-11-12 21:02:09,223 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 131 states and 133 transitions. [2024-11-12 21:02:09,223 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:09,223 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:09,223 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:09,224 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [60, 60, 1, 1, 1, 1] [2024-11-12 21:02:09,224 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:09,225 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:09,225 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:09,225 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:09,225 INFO L85 PathProgramCache]: Analyzing trace with hash -1673368701, now seen corresponding path program 14 times [2024-11-12 21:02:09,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:09,225 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [78503795] [2024-11-12 21:02:09,225 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:09,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:09,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:11,689 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:11,689 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [78503795] [2024-11-12 21:02:11,689 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [78503795] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:11,689 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1568021259] [2024-11-12 21:02:11,690 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-12 21:02:11,690 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:11,690 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:11,691 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 21:02:11,692 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 21:02:11,826 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:11,826 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:11,826 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [63] total 63 [2024-11-12 21:02:11,826 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [584639195] [2024-11-12 21:02:11,826 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:11,827 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:11,827 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:11,827 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 15 times [2024-11-12 21:02:11,827 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:11,827 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [524949581] [2024-11-12 21:02:11,827 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:11,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:11,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:11,831 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:11,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:11,835 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:11,863 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:11,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 63 interpolants. [2024-11-12 21:02:11,865 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1953, Invalid=1953, Unknown=0, NotChecked=0, Total=3906 [2024-11-12 21:02:11,866 INFO L87 Difference]: Start difference. First operand 131 states and 133 transitions. cyclomatic complexity: 5 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 21:02:12,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:12,011 INFO L93 Difference]: Finished difference Result 134 states and 136 transitions. [2024-11-12 21:02:12,011 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 134 states and 136 transitions. [2024-11-12 21:02:12,012 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:12,012 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 134 states to 134 states and 136 transitions. [2024-11-12 21:02:12,013 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:12,013 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:12,013 INFO L73 IsDeterministic]: Start isDeterministic. Operand 134 states and 136 transitions. [2024-11-12 21:02:12,013 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:12,013 INFO L218 hiAutomatonCegarLoop]: Abstraction has 134 states and 136 transitions. [2024-11-12 21:02:12,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states and 136 transitions. [2024-11-12 21:02:12,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 133. [2024-11-12 21:02:12,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 133 states have (on average 1.0150375939849625) internal successors, (135), 132 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 21:02:12,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 135 transitions. [2024-11-12 21:02:12,017 INFO L240 hiAutomatonCegarLoop]: Abstraction has 133 states and 135 transitions. [2024-11-12 21:02:12,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 63 states. [2024-11-12 21:02:12,020 INFO L426 stractBuchiCegarLoop]: Abstraction has 133 states and 135 transitions. [2024-11-12 21:02:12,020 INFO L333 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2024-11-12 21:02:12,021 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 133 states and 135 transitions. [2024-11-12 21:02:12,021 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:12,021 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:12,022 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:12,023 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [61, 61, 1, 1, 1, 1] [2024-11-12 21:02:12,023 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:12,024 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:12,025 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:12,025 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:12,025 INFO L85 PathProgramCache]: Analyzing trace with hash -1789496955, now seen corresponding path program 15 times [2024-11-12 21:02:12,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:12,026 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [312004666] [2024-11-12 21:02:12,026 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:12,026 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:12,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:14,541 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:14,541 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [312004666] [2024-11-12 21:02:14,541 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [312004666] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:14,541 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [644509807] [2024-11-12 21:02:14,542 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-12 21:02:14,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:14,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:14,543 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 21:02:14,544 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 21:02:14,683 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:14,683 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:14,683 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [64] total 64 [2024-11-12 21:02:14,683 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [395821144] [2024-11-12 21:02:14,683 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:14,684 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:14,684 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:14,684 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 16 times [2024-11-12 21:02:14,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:14,685 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2002391301] [2024-11-12 21:02:14,685 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:14,685 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:14,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:14,689 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:14,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:14,693 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:14,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:14,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 64 interpolants. [2024-11-12 21:02:14,728 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2016, Invalid=2016, Unknown=0, NotChecked=0, Total=4032 [2024-11-12 21:02:14,728 INFO L87 Difference]: Start difference. First operand 133 states and 135 transitions. cyclomatic complexity: 5 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 21:02:14,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:14,872 INFO L93 Difference]: Finished difference Result 136 states and 138 transitions. [2024-11-12 21:02:14,872 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 136 states and 138 transitions. [2024-11-12 21:02:14,873 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:14,873 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 136 states to 136 states and 138 transitions. [2024-11-12 21:02:14,874 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:14,874 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:14,874 INFO L73 IsDeterministic]: Start isDeterministic. Operand 136 states and 138 transitions. [2024-11-12 21:02:14,874 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:14,874 INFO L218 hiAutomatonCegarLoop]: Abstraction has 136 states and 138 transitions. [2024-11-12 21:02:14,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states and 138 transitions. [2024-11-12 21:02:14,876 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 135. [2024-11-12 21:02:14,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 135 states have (on average 1.0148148148148148) internal successors, (137), 134 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 21:02:14,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 137 transitions. [2024-11-12 21:02:14,877 INFO L240 hiAutomatonCegarLoop]: Abstraction has 135 states and 137 transitions. [2024-11-12 21:02:14,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 64 states. [2024-11-12 21:02:14,882 INFO L426 stractBuchiCegarLoop]: Abstraction has 135 states and 137 transitions. [2024-11-12 21:02:14,882 INFO L333 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2024-11-12 21:02:14,882 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 135 states and 137 transitions. [2024-11-12 21:02:14,883 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:14,883 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:14,883 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:14,884 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [62, 62, 1, 1, 1, 1] [2024-11-12 21:02:14,884 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:14,884 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:14,885 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:14,885 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:14,888 INFO L85 PathProgramCache]: Analyzing trace with hash -1719599353, now seen corresponding path program 16 times [2024-11-12 21:02:14,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:14,888 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1696957467] [2024-11-12 21:02:14,888 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:14,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:14,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:17,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:17,191 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1696957467] [2024-11-12 21:02:17,191 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1696957467] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:17,191 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [236725832] [2024-11-12 21:02:17,191 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-12 21:02:17,191 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:17,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:17,193 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:02:17,194 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2024-11-12 21:02:17,356 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:17,358 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:17,358 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [65] total 65 [2024-11-12 21:02:17,358 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [986152707] [2024-11-12 21:02:17,358 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:17,358 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:17,358 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:17,358 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 17 times [2024-11-12 21:02:17,359 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:17,359 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1156322534] [2024-11-12 21:02:17,359 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:17,359 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:17,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:17,363 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:17,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:17,366 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:17,391 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:17,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 65 interpolants. [2024-11-12 21:02:17,393 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2080, Invalid=2080, Unknown=0, NotChecked=0, Total=4160 [2024-11-12 21:02:17,393 INFO L87 Difference]: Start difference. First operand 135 states and 137 transitions. cyclomatic complexity: 5 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 21:02:17,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:17,529 INFO L93 Difference]: Finished difference Result 138 states and 140 transitions. [2024-11-12 21:02:17,529 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 138 states and 140 transitions. [2024-11-12 21:02:17,530 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:17,531 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 138 states to 138 states and 140 transitions. [2024-11-12 21:02:17,531 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:17,531 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:17,531 INFO L73 IsDeterministic]: Start isDeterministic. Operand 138 states and 140 transitions. [2024-11-12 21:02:17,531 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:17,531 INFO L218 hiAutomatonCegarLoop]: Abstraction has 138 states and 140 transitions. [2024-11-12 21:02:17,532 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states and 140 transitions. [2024-11-12 21:02:17,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 137. [2024-11-12 21:02:17,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 137 states have (on average 1.0145985401459854) internal successors, (139), 136 states have internal predecessors, (139), 0 states have call successors, (0), 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 21:02:17,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 139 transitions. [2024-11-12 21:02:17,534 INFO L240 hiAutomatonCegarLoop]: Abstraction has 137 states and 139 transitions. [2024-11-12 21:02:17,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 65 states. [2024-11-12 21:02:17,535 INFO L426 stractBuchiCegarLoop]: Abstraction has 137 states and 139 transitions. [2024-11-12 21:02:17,535 INFO L333 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2024-11-12 21:02:17,535 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 137 states and 139 transitions. [2024-11-12 21:02:17,536 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:17,536 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:17,536 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:17,537 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [63, 63, 1, 1, 1, 1] [2024-11-12 21:02:17,537 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:17,537 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:17,537 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:17,538 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:17,538 INFO L85 PathProgramCache]: Analyzing trace with hash 1027486729, now seen corresponding path program 17 times [2024-11-12 21:02:17,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:17,538 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1287434798] [2024-11-12 21:02:17,538 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:17,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:17,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:19,724 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:19,724 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1287434798] [2024-11-12 21:02:19,724 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1287434798] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:19,724 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [27663213] [2024-11-12 21:02:19,724 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-12 21:02:19,725 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:19,725 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:19,726 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:02:19,728 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2024-11-12 21:02:19,904 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:19,904 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:19,904 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [66] total 66 [2024-11-12 21:02:19,904 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1730627814] [2024-11-12 21:02:19,904 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:19,905 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:19,905 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:19,905 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 18 times [2024-11-12 21:02:19,905 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:19,905 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2125994963] [2024-11-12 21:02:19,905 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:19,905 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:19,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:19,910 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:19,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:19,914 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:19,944 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:19,945 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 66 interpolants. [2024-11-12 21:02:19,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2145, Invalid=2145, Unknown=0, NotChecked=0, Total=4290 [2024-11-12 21:02:19,947 INFO L87 Difference]: Start difference. First operand 137 states and 139 transitions. cyclomatic complexity: 5 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 21:02:20,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:20,088 INFO L93 Difference]: Finished difference Result 140 states and 142 transitions. [2024-11-12 21:02:20,088 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 140 states and 142 transitions. [2024-11-12 21:02:20,089 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:20,090 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 140 states to 140 states and 142 transitions. [2024-11-12 21:02:20,090 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:20,090 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:20,090 INFO L73 IsDeterministic]: Start isDeterministic. Operand 140 states and 142 transitions. [2024-11-12 21:02:20,090 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:20,090 INFO L218 hiAutomatonCegarLoop]: Abstraction has 140 states and 142 transitions. [2024-11-12 21:02:20,091 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states and 142 transitions. [2024-11-12 21:02:20,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 139. [2024-11-12 21:02:20,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 139 states have (on average 1.014388489208633) internal successors, (141), 138 states have internal predecessors, (141), 0 states have call successors, (0), 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 21:02:20,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 141 transitions. [2024-11-12 21:02:20,093 INFO L240 hiAutomatonCegarLoop]: Abstraction has 139 states and 141 transitions. [2024-11-12 21:02:20,094 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 66 states. [2024-11-12 21:02:20,094 INFO L426 stractBuchiCegarLoop]: Abstraction has 139 states and 141 transitions. [2024-11-12 21:02:20,094 INFO L333 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2024-11-12 21:02:20,094 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 139 states and 141 transitions. [2024-11-12 21:02:20,095 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:20,095 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:20,096 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:20,097 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [64, 64, 1, 1, 1, 1] [2024-11-12 21:02:20,097 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:20,097 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:20,097 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:20,098 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:20,098 INFO L85 PathProgramCache]: Analyzing trace with hash -427675509, now seen corresponding path program 18 times [2024-11-12 21:02:20,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:20,098 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1901362625] [2024-11-12 21:02:20,098 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:20,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:20,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:22,435 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:22,435 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1901362625] [2024-11-12 21:02:22,435 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1901362625] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:22,436 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [353905853] [2024-11-12 21:02:22,436 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-12 21:02:22,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:22,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:22,438 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:02:22,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2024-11-12 21:02:22,651 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:22,652 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:22,652 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [67] total 67 [2024-11-12 21:02:22,652 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [113018166] [2024-11-12 21:02:22,652 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:22,652 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:22,652 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:22,652 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 19 times [2024-11-12 21:02:22,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:22,652 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2136053976] [2024-11-12 21:02:22,653 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:22,653 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:22,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:22,657 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:22,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:22,660 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:22,683 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:22,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 67 interpolants. [2024-11-12 21:02:22,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2211, Invalid=2211, Unknown=0, NotChecked=0, Total=4422 [2024-11-12 21:02:22,685 INFO L87 Difference]: Start difference. First operand 139 states and 141 transitions. cyclomatic complexity: 5 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 21:02:22,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:22,816 INFO L93 Difference]: Finished difference Result 142 states and 144 transitions. [2024-11-12 21:02:22,816 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 142 states and 144 transitions. [2024-11-12 21:02:22,817 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:22,818 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 142 states to 142 states and 144 transitions. [2024-11-12 21:02:22,818 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:22,818 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:22,818 INFO L73 IsDeterministic]: Start isDeterministic. Operand 142 states and 144 transitions. [2024-11-12 21:02:22,818 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:22,818 INFO L218 hiAutomatonCegarLoop]: Abstraction has 142 states and 144 transitions. [2024-11-12 21:02:22,818 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states and 144 transitions. [2024-11-12 21:02:22,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 141. [2024-11-12 21:02:22,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 141 states have (on average 1.0141843971631206) internal successors, (143), 140 states have internal predecessors, (143), 0 states have call successors, (0), 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 21:02:22,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 143 transitions. [2024-11-12 21:02:22,821 INFO L240 hiAutomatonCegarLoop]: Abstraction has 141 states and 143 transitions. [2024-11-12 21:02:22,822 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 67 states. [2024-11-12 21:02:22,822 INFO L426 stractBuchiCegarLoop]: Abstraction has 141 states and 143 transitions. [2024-11-12 21:02:22,822 INFO L333 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2024-11-12 21:02:22,823 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 141 states and 143 transitions. [2024-11-12 21:02:22,824 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:22,824 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:22,824 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:22,825 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [65, 65, 1, 1, 1, 1] [2024-11-12 21:02:22,825 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:22,825 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:22,825 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:22,826 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:22,826 INFO L85 PathProgramCache]: Analyzing trace with hash 1320752269, now seen corresponding path program 19 times [2024-11-12 21:02:22,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:22,826 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1336237329] [2024-11-12 21:02:22,826 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:22,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:22,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:25,324 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:25,325 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1336237329] [2024-11-12 21:02:25,325 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1336237329] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:25,325 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1994035525] [2024-11-12 21:02:25,325 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-12 21:02:25,325 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:25,325 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:25,326 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:02:25,327 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2024-11-12 21:02:25,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:25,597 INFO L256 TraceCheckSpWp]: Trace formula consists of 750 conjuncts, 67 conjuncts are in the unsatisfiable core [2024-11-12 21:02:25,601 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:02:25,771 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:02:30,249 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1994035525] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:02:30,249 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:02:30,250 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [68, 68, 68] total 135 [2024-11-12 21:02:30,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2064765113] [2024-11-12 21:02:30,250 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:30,250 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:30,251 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:30,251 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 20 times [2024-11-12 21:02:30,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:30,251 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [280641468] [2024-11-12 21:02:30,251 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:30,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:30,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:30,257 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:30,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:30,260 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:30,288 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:30,290 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 135 interpolants. [2024-11-12 21:02:30,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9045, Invalid=9045, Unknown=0, NotChecked=0, Total=18090 [2024-11-12 21:02:30,294 INFO L87 Difference]: Start difference. First operand 141 states and 143 transitions. cyclomatic complexity: 5 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 21:02:30,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:30,670 INFO L93 Difference]: Finished difference Result 275 states and 277 transitions. [2024-11-12 21:02:30,670 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 275 states and 277 transitions. [2024-11-12 21:02:30,671 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:30,672 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 275 states to 275 states and 277 transitions. [2024-11-12 21:02:30,673 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:30,673 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:30,673 INFO L73 IsDeterministic]: Start isDeterministic. Operand 275 states and 277 transitions. [2024-11-12 21:02:30,673 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:30,673 INFO L218 hiAutomatonCegarLoop]: Abstraction has 275 states and 277 transitions. [2024-11-12 21:02:30,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states and 277 transitions. [2024-11-12 21:02:30,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 275. [2024-11-12 21:02:30,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 275 states, 275 states have (on average 1.0072727272727273) internal successors, (277), 274 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 21:02:30,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 275 states to 275 states and 277 transitions. [2024-11-12 21:02:30,677 INFO L240 hiAutomatonCegarLoop]: Abstraction has 275 states and 277 transitions. [2024-11-12 21:02:30,678 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 134 states. [2024-11-12 21:02:30,678 INFO L426 stractBuchiCegarLoop]: Abstraction has 275 states and 277 transitions. [2024-11-12 21:02:30,678 INFO L333 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2024-11-12 21:02:30,678 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 275 states and 277 transitions. [2024-11-12 21:02:30,679 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:30,679 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:30,679 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:30,681 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [132, 132, 1, 1, 1, 1] [2024-11-12 21:02:30,681 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:30,681 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:30,681 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:30,682 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:30,682 INFO L85 PathProgramCache]: Analyzing trace with hash -10224109, now seen corresponding path program 20 times [2024-11-12 21:02:30,682 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:30,682 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1356665392] [2024-11-12 21:02:30,682 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:30,682 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:30,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:39,861 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:39,861 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1356665392] [2024-11-12 21:02:39,861 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1356665392] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:39,862 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1114115731] [2024-11-12 21:02:39,862 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-12 21:02:39,862 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:39,862 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:39,863 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:02:39,864 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2024-11-12 21:02:40,142 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:40,143 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:40,143 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [135] total 135 [2024-11-12 21:02:40,143 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [892769232] [2024-11-12 21:02:40,143 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:40,143 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:40,144 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:40,144 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 21 times [2024-11-12 21:02:40,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:40,144 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1902499313] [2024-11-12 21:02:40,144 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:40,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:40,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:40,148 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:40,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:40,154 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:40,187 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:40,189 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 135 interpolants. [2024-11-12 21:02:40,194 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9045, Invalid=9045, Unknown=0, NotChecked=0, Total=18090 [2024-11-12 21:02:40,195 INFO L87 Difference]: Start difference. First operand 275 states and 277 transitions. cyclomatic complexity: 5 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 21:02:40,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:40,515 INFO L93 Difference]: Finished difference Result 278 states and 280 transitions. [2024-11-12 21:02:40,515 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 278 states and 280 transitions. [2024-11-12 21:02:40,517 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:40,518 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 278 states to 278 states and 280 transitions. [2024-11-12 21:02:40,518 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:40,518 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:40,518 INFO L73 IsDeterministic]: Start isDeterministic. Operand 278 states and 280 transitions. [2024-11-12 21:02:40,518 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:40,518 INFO L218 hiAutomatonCegarLoop]: Abstraction has 278 states and 280 transitions. [2024-11-12 21:02:40,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states and 280 transitions. [2024-11-12 21:02:40,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 277. [2024-11-12 21:02:40,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 277 states, 277 states have (on average 1.0072202166064983) internal successors, (279), 276 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 21:02:40,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 277 states to 277 states and 279 transitions. [2024-11-12 21:02:40,522 INFO L240 hiAutomatonCegarLoop]: Abstraction has 277 states and 279 transitions. [2024-11-12 21:02:40,523 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 135 states. [2024-11-12 21:02:40,523 INFO L426 stractBuchiCegarLoop]: Abstraction has 277 states and 279 transitions. [2024-11-12 21:02:40,523 INFO L333 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2024-11-12 21:02:40,523 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 277 states and 279 transitions. [2024-11-12 21:02:40,524 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:40,525 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:40,525 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:40,526 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [133, 133, 1, 1, 1, 1] [2024-11-12 21:02:40,526 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:40,526 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:40,527 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:40,527 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:40,528 INFO L85 PathProgramCache]: Analyzing trace with hash -1235378155, now seen corresponding path program 21 times [2024-11-12 21:02:40,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:40,528 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [64098041] [2024-11-12 21:02:40,528 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:40,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:40,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:49,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:49,568 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [64098041] [2024-11-12 21:02:49,568 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [64098041] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:49,568 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [269572188] [2024-11-12 21:02:49,568 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-12 21:02:49,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:49,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:49,569 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:02:49,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2024-11-12 21:02:49,872 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:49,872 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:49,873 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [136] total 136 [2024-11-12 21:02:49,873 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [15141018] [2024-11-12 21:02:49,873 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:49,873 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:49,873 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:49,873 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 22 times [2024-11-12 21:02:49,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:49,874 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [902361564] [2024-11-12 21:02:49,874 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:49,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:49,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:49,878 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:49,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:49,883 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:49,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:49,912 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 136 interpolants. [2024-11-12 21:02:49,913 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9180, Invalid=9180, Unknown=0, NotChecked=0, Total=18360 [2024-11-12 21:02:49,914 INFO L87 Difference]: Start difference. First operand 277 states and 279 transitions. cyclomatic complexity: 5 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 21:02:50,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:02:50,280 INFO L93 Difference]: Finished difference Result 280 states and 282 transitions. [2024-11-12 21:02:50,280 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 280 states and 282 transitions. [2024-11-12 21:02:50,282 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:50,283 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 280 states to 280 states and 282 transitions. [2024-11-12 21:02:50,283 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:02:50,283 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:02:50,283 INFO L73 IsDeterministic]: Start isDeterministic. Operand 280 states and 282 transitions. [2024-11-12 21:02:50,284 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:02:50,284 INFO L218 hiAutomatonCegarLoop]: Abstraction has 280 states and 282 transitions. [2024-11-12 21:02:50,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 280 states and 282 transitions. [2024-11-12 21:02:50,286 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 280 to 279. [2024-11-12 21:02:50,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 279 states, 279 states have (on average 1.007168458781362) internal successors, (281), 278 states have internal predecessors, (281), 0 states have call successors, (0), 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 21:02:50,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 279 states to 279 states and 281 transitions. [2024-11-12 21:02:50,287 INFO L240 hiAutomatonCegarLoop]: Abstraction has 279 states and 281 transitions. [2024-11-12 21:02:50,288 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 136 states. [2024-11-12 21:02:50,288 INFO L426 stractBuchiCegarLoop]: Abstraction has 279 states and 281 transitions. [2024-11-12 21:02:50,288 INFO L333 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2024-11-12 21:02:50,289 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 279 states and 281 transitions. [2024-11-12 21:02:50,290 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:02:50,290 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:02:50,290 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:02:50,291 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [134, 134, 1, 1, 1, 1] [2024-11-12 21:02:50,291 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:02:50,291 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:02:50,292 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:02:50,292 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:50,292 INFO L85 PathProgramCache]: Analyzing trace with hash -1787377257, now seen corresponding path program 22 times [2024-11-12 21:02:50,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:50,293 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [946544519] [2024-11-12 21:02:50,293 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:50,293 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:50,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:02:59,271 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:02:59,272 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [946544519] [2024-11-12 21:02:59,272 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [946544519] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:02:59,272 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [145284385] [2024-11-12 21:02:59,272 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-12 21:02:59,272 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:02:59,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:02:59,274 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:02:59,274 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2024-11-12 21:02:59,599 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:02:59,599 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:02:59,599 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [137] total 137 [2024-11-12 21:02:59,599 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [838509502] [2024-11-12 21:02:59,599 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:02:59,599 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:02:59,600 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:02:59,600 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 23 times [2024-11-12 21:02:59,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:02:59,600 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [541621600] [2024-11-12 21:02:59,600 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:02:59,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:02:59,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:59,605 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:02:59,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:02:59,610 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:02:59,637 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:02:59,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 137 interpolants. [2024-11-12 21:02:59,642 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9316, Invalid=9316, Unknown=0, NotChecked=0, Total=18632 [2024-11-12 21:02:59,643 INFO L87 Difference]: Start difference. First operand 279 states and 281 transitions. cyclomatic complexity: 5 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 21:03:00,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:03:00,002 INFO L93 Difference]: Finished difference Result 282 states and 284 transitions. [2024-11-12 21:03:00,002 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 282 states and 284 transitions. [2024-11-12 21:03:00,003 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:03:00,004 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 282 states to 282 states and 284 transitions. [2024-11-12 21:03:00,004 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:03:00,005 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:03:00,005 INFO L73 IsDeterministic]: Start isDeterministic. Operand 282 states and 284 transitions. [2024-11-12 21:03:00,005 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:03:00,005 INFO L218 hiAutomatonCegarLoop]: Abstraction has 282 states and 284 transitions. [2024-11-12 21:03:00,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 282 states and 284 transitions. [2024-11-12 21:03:00,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 282 to 281. [2024-11-12 21:03:00,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 281 states, 281 states have (on average 1.00711743772242) internal successors, (283), 280 states have internal predecessors, (283), 0 states have call successors, (0), 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 21:03:00,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 281 states to 281 states and 283 transitions. [2024-11-12 21:03:00,009 INFO L240 hiAutomatonCegarLoop]: Abstraction has 281 states and 283 transitions. [2024-11-12 21:03:00,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 137 states. [2024-11-12 21:03:00,010 INFO L426 stractBuchiCegarLoop]: Abstraction has 281 states and 283 transitions. [2024-11-12 21:03:00,011 INFO L333 stractBuchiCegarLoop]: ======== Iteration 25 ============ [2024-11-12 21:03:00,011 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 281 states and 283 transitions. [2024-11-12 21:03:00,012 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:03:00,012 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:03:00,012 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:03:00,013 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [135, 135, 1, 1, 1, 1] [2024-11-12 21:03:00,013 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:03:00,014 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:03:00,014 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:03:00,015 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:03:00,015 INFO L85 PathProgramCache]: Analyzing trace with hash 317430425, now seen corresponding path program 23 times [2024-11-12 21:03:00,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:03:00,015 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [784395240] [2024-11-12 21:03:00,015 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:03:00,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:03:00,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:03:09,124 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:03:09,124 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [784395240] [2024-11-12 21:03:09,124 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [784395240] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:03:09,124 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [359351157] [2024-11-12 21:03:09,124 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-12 21:03:09,124 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:03:09,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:03:09,126 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:03:09,127 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2024-11-12 21:03:09,476 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-11-12 21:03:09,476 INFO L185 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2024-11-12 21:03:09,476 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [138] total 138 [2024-11-12 21:03:09,476 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [15449584] [2024-11-12 21:03:09,476 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2024-11-12 21:03:09,477 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:03:09,477 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:03:09,477 INFO L85 PathProgramCache]: Analyzing trace with hash 1638, now seen corresponding path program 24 times [2024-11-12 21:03:09,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:03:09,477 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1812697124] [2024-11-12 21:03:09,477 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:03:09,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:03:09,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:03:09,483 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:03:09,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:03:09,488 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:03:09,518 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:03:09,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 138 interpolants. [2024-11-12 21:03:09,522 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9453, Invalid=9453, Unknown=0, NotChecked=0, Total=18906 [2024-11-12 21:03:09,522 INFO L87 Difference]: Start difference. First operand 281 states and 283 transitions. cyclomatic complexity: 5 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 21:03:09,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:03:09,895 INFO L93 Difference]: Finished difference Result 284 states and 286 transitions. [2024-11-12 21:03:09,895 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 284 states and 286 transitions. [2024-11-12 21:03:09,896 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:03:09,897 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 284 states to 284 states and 286 transitions. [2024-11-12 21:03:09,897 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-12 21:03:09,897 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2024-11-12 21:03:09,897 INFO L73 IsDeterministic]: Start isDeterministic. Operand 284 states and 286 transitions. [2024-11-12 21:03:09,897 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-12 21:03:09,897 INFO L218 hiAutomatonCegarLoop]: Abstraction has 284 states and 286 transitions. [2024-11-12 21:03:09,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states and 286 transitions. [2024-11-12 21:03:09,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 283. [2024-11-12 21:03:09,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 283 states, 283 states have (on average 1.0070671378091873) internal successors, (285), 282 states have internal predecessors, (285), 0 states have call successors, (0), 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 21:03:09,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 285 transitions. [2024-11-12 21:03:09,901 INFO L240 hiAutomatonCegarLoop]: Abstraction has 283 states and 285 transitions. [2024-11-12 21:03:09,901 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 138 states. [2024-11-12 21:03:09,902 INFO L426 stractBuchiCegarLoop]: Abstraction has 283 states and 285 transitions. [2024-11-12 21:03:09,902 INFO L333 stractBuchiCegarLoop]: ======== Iteration 26 ============ [2024-11-12 21:03:09,902 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 283 states and 285 transitions. [2024-11-12 21:03:09,903 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2024-11-12 21:03:09,903 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:03:09,903 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:03:09,904 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [136, 136, 1, 1, 1, 1] [2024-11-12 21:03:09,904 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2024-11-12 21:03:09,905 INFO L747 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(25, 2);" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet1#1, main_#t~post2#1, main_~i~0#1, main_#t~mem3#1, main_#t~post4#1, main_#t~mem5#1, main_#t~post6#1, main_~#aa~0#1.base, main_~#aa~0#1.offset, main_~a~0#1, main_~x~0#1;call main_~#aa~0#1.base, main_~#aa~0#1.offset := #Ultimate.allocOnStack(400000);main_~a~0#1 := 0;main_~i~0#1 := 0;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !!(main_~i~0#1 < 100000);havoc main_#t~nondet1#1;call write~int#1(main_#t~nondet1#1, main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~i~0#1, 4);havoc main_#t~nondet1#1;" "main_#t~post2#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1;" "assume !(main_~i~0#1 < 100000);" "havoc main_~i~0#1;" [2024-11-12 21:03:09,905 INFO L749 eck$LassoCheckResult]: Loop: "call main_#t~mem3#1 := read~int#1(main_~#aa~0#1.base, main_~#aa~0#1.offset + 4 * main_~a~0#1, 4);" "assume !!(main_#t~mem3#1 >= 0);havoc main_#t~mem3#1;main_#t~post4#1 := main_~a~0#1;main_~a~0#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1;" [2024-11-12 21:03:09,905 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:03:09,905 INFO L85 PathProgramCache]: Analyzing trace with hash 108016411, now seen corresponding path program 24 times [2024-11-12 21:03:09,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:03:09,906 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [644517641] [2024-11-12 21:03:09,906 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:03:09,906 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:03:10,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat