./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/reducercommutativity/rangesum.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 8fc3dc66 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/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.6.800.v20240513-1750.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/reducercommutativity/rangesum.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 4dc91bf2fc8981aab63c1ee768384f1c8f580edfe4618d65089a78f799b6ddb8 --- Real Ultimate output --- This is Ultimate 0.3.0-?-8fc3dc6-m [2025-03-17 20:00:34,132 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-17 20:00:34,189 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2025-03-17 20:00:34,195 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-17 20:00:34,196 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-17 20:00:34,196 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.Remove goto edges from RCFG [2025-03-17 20:00:34,217 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-17 20:00:34,219 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-17 20:00:34,219 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-17 20:00:34,220 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-17 20:00:34,220 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-17 20:00:34,221 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-17 20:00:34,221 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-17 20:00:34,221 INFO L153 SettingsManager]: * Use SBE=true [2025-03-17 20:00:34,221 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-03-17 20:00:34,221 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-03-17 20:00:34,221 INFO L153 SettingsManager]: * Use old map elimination=false [2025-03-17 20:00:34,221 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-03-17 20:00:34,221 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-03-17 20:00:34,221 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-03-17 20:00:34,221 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-03-17 20:00:34,222 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-17 20:00:34,223 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-17 20:00:34,223 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-03-17 20:00:34,223 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-17 20:00:34,223 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-17 20:00:34,223 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-17 20:00:34,223 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-17 20:00:34,223 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-17 20:00:34,223 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-17 20:00:34,224 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-03-17 20:00:34,224 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR 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 -> 4dc91bf2fc8981aab63c1ee768384f1c8f580edfe4618d65089a78f799b6ddb8 [2025-03-17 20:00:34,536 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-17 20:00:34,547 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-17 20:00:34,549 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-17 20:00:34,550 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-17 20:00:34,550 INFO L274 PluginConnector]: CDTParser initialized [2025-03-17 20:00:34,551 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/reducercommutativity/rangesum.i [2025-03-17 20:00:35,687 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dddde9b32/d4965d133dfe46f4886c1097ef15b106/FLAG0232c4355 [2025-03-17 20:00:35,915 INFO L384 CDTParser]: Found 1 translation units. [2025-03-17 20:00:35,916 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/reducercommutativity/rangesum.i [2025-03-17 20:00:35,921 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dddde9b32/d4965d133dfe46f4886c1097ef15b106/FLAG0232c4355 [2025-03-17 20:00:36,254 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dddde9b32/d4965d133dfe46f4886c1097ef15b106 [2025-03-17 20:00:36,256 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-17 20:00:36,259 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-17 20:00:36,260 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-17 20:00:36,260 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-17 20:00:36,264 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-17 20:00:36,264 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,265 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@47167c96 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36, skipping insertion in model container [2025-03-17 20:00:36,265 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,275 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-17 20:00:36,384 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 20:00:36,392 INFO L200 MainTranslator]: Completed pre-run [2025-03-17 20:00:36,405 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 20:00:36,414 INFO L204 MainTranslator]: Completed translation [2025-03-17 20:00:36,415 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36 WrapperNode [2025-03-17 20:00:36,415 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-17 20:00:36,416 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-17 20:00:36,416 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-17 20:00:36,416 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-17 20:00:36,420 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,425 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,438 INFO L138 Inliner]: procedures = 17, calls = 23, calls flagged for inlining = 7, calls inlined = 7, statements flattened = 127 [2025-03-17 20:00:36,439 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-17 20:00:36,439 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-17 20:00:36,439 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-17 20:00:36,439 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-17 20:00:36,448 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,448 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,451 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,463 INFO L175 MemorySlicer]: Split 14 memory accesses to 2 slices as follows [2, 12]. 86 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 5 writes are split as follows [0, 5]. [2025-03-17 20:00:36,465 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,465 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,469 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,474 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,477 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,478 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,479 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-17 20:00:36,481 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-17 20:00:36,481 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-17 20:00:36,481 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-17 20:00:36,481 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (1/1) ... [2025-03-17 20:00:36,485 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:36,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:36,508 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) [2025-03-17 20:00:36,518 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 [2025-03-17 20:00:36,540 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-17 20:00:36,541 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-03-17 20:00:36,541 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2025-03-17 20:00:36,598 INFO L256 CfgBuilder]: Building ICFG [2025-03-17 20:00:36,599 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-17 20:00:36,831 INFO L? ?]: Removed 33 outVars from TransFormulas that were not future-live. [2025-03-17 20:00:36,831 INFO L307 CfgBuilder]: Performing block encoding [2025-03-17 20:00:36,843 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-17 20:00:36,843 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-17 20:00:36,843 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 08:00:36 BoogieIcfgContainer [2025-03-17 20:00:36,843 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-17 20:00:36,844 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-03-17 20:00:36,844 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-03-17 20:00:36,849 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-03-17 20:00:36,849 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 20:00:36,849 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.03 08:00:36" (1/3) ... [2025-03-17 20:00:36,850 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@75f8dec2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.03 08:00:36, skipping insertion in model container [2025-03-17 20:00:36,850 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 20:00:36,850 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:00:36" (2/3) ... [2025-03-17 20:00:36,850 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@75f8dec2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.03 08:00:36, skipping insertion in model container [2025-03-17 20:00:36,850 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 20:00:36,851 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 08:00:36" (3/3) ... [2025-03-17 20:00:36,851 INFO L363 chiAutomizerObserver]: Analyzing ICFG rangesum.i [2025-03-17 20:00:36,887 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-03-17 20:00:36,887 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-03-17 20:00:36,887 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-03-17 20:00:36,887 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-03-17 20:00:36,887 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-03-17 20:00:36,887 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-03-17 20:00:36,887 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-03-17 20:00:36,887 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-03-17 20:00:36,890 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 26 states, 25 states have (on average 1.56) internal successors, (39), 25 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:36,898 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 11 [2025-03-17 20:00:36,899 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:36,899 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:36,901 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:00:36,901 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2025-03-17 20:00:36,901 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-03-17 20:00:36,902 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 26 states, 25 states have (on average 1.56) internal successors, (39), 25 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:36,904 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 11 [2025-03-17 20:00:36,904 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:36,904 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:36,904 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:00:36,904 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2025-03-17 20:00:36,908 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" [2025-03-17 20:00:36,908 INFO L754 eck$LassoCheckResult]: Loop: "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" [2025-03-17 20:00:36,911 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:36,912 INFO L85 PathProgramCache]: Analyzing trace with hash 2335, now seen corresponding path program 1 times [2025-03-17 20:00:36,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:36,916 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1915584433] [2025-03-17 20:00:36,916 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:36,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:36,956 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:00:36,969 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:00:36,970 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:36,970 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:36,970 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:36,975 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:00:36,978 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:00:36,980 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:36,980 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:36,994 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:36,997 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:36,997 INFO L85 PathProgramCache]: Analyzing trace with hash 71, now seen corresponding path program 1 times [2025-03-17 20:00:36,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:36,997 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [376510778] [2025-03-17 20:00:36,998 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:36,998 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:37,006 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 20:00:37,012 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 20:00:37,013 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:37,013 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:37,014 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:37,018 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 20:00:37,020 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 20:00:37,022 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:37,022 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:37,024 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:37,026 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:37,026 INFO L85 PathProgramCache]: Analyzing trace with hash 72425, now seen corresponding path program 1 times [2025-03-17 20:00:37,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:37,026 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1207023632] [2025-03-17 20:00:37,026 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:37,027 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:37,034 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:37,048 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:37,048 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:37,048 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:37,048 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:37,053 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:37,063 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:37,064 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:37,064 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:37,067 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:37,379 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 20:00:37,380 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 20:00:37,380 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 20:00:37,380 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 20:00:37,380 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 20:00:37,380 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:37,380 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 20:00:37,381 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 20:00:37,382 INFO L132 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration1_Lasso [2025-03-17 20:00:37,382 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 20:00:37,382 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 20:00:37,392 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,398 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,400 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,403 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,616 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,618 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,620 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,621 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,623 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,625 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,627 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,629 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,637 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,639 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,641 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,643 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,644 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,647 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,648 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,651 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:37,917 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 20:00:37,919 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 20:00:37,920 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:37,920 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:37,922 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) [2025-03-17 20:00:37,924 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 [2025-03-17 20:00:37,925 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 [2025-03-17 20:00:37,937 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:37,937 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:37,938 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:37,938 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:37,938 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:37,942 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:37,942 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:37,947 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:37,953 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 [2025-03-17 20:00:37,954 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:37,954 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:37,956 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) [2025-03-17 20:00:37,958 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 [2025-03-17 20:00:37,959 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 [2025-03-17 20:00:37,970 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:37,970 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:37,970 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:37,970 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:37,970 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:37,971 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:37,971 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:37,973 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:37,980 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 [2025-03-17 20:00:37,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:37,980 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:37,982 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) [2025-03-17 20:00:37,985 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 [2025-03-17 20:00:37,986 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 [2025-03-17 20:00:37,997 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:37,997 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:37,997 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:37,997 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:37,998 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:37,998 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:37,998 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:37,999 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:38,005 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:38,005 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:38,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:38,007 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) [2025-03-17 20:00:38,009 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 [2025-03-17 20:00:38,010 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 [2025-03-17 20:00:38,020 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:38,020 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:38,020 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:38,020 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:38,023 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:38,023 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:38,026 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:38,032 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:38,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:38,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:38,034 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) [2025-03-17 20:00:38,035 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 [2025-03-17 20:00:38,037 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 [2025-03-17 20:00:38,048 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:38,048 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:38,049 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:38,049 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:38,056 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:38,056 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:38,061 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:38,067 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 [2025-03-17 20:00:38,067 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:38,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:38,069 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) [2025-03-17 20:00:38,070 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 [2025-03-17 20:00:38,071 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 [2025-03-17 20:00:38,081 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:38,081 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:38,081 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:38,081 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:38,081 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:38,081 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:38,081 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:38,082 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:38,087 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 [2025-03-17 20:00:38,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:38,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:38,089 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) [2025-03-17 20:00:38,091 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 [2025-03-17 20:00:38,092 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 [2025-03-17 20:00:38,102 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:38,102 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:38,102 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:38,102 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:38,104 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:38,104 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:38,107 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:38,112 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:38,113 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:38,113 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:38,114 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) [2025-03-17 20:00:38,115 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 [2025-03-17 20:00:38,116 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 [2025-03-17 20:00:38,126 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:38,126 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:38,126 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:38,126 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:38,129 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:38,129 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:38,132 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:38,138 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2025-03-17 20:00:38,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:38,139 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:38,140 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) [2025-03-17 20:00:38,142 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 [2025-03-17 20:00:38,143 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 [2025-03-17 20:00:38,153 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:38,153 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:38,153 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:38,153 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:38,158 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:38,158 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:38,166 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 20:00:38,195 INFO L443 ModelExtractionUtils]: Simplification made 8 calls to the SMT solver. [2025-03-17 20:00:38,197 INFO L444 ModelExtractionUtils]: 1 out of 19 variables were initially zero. Simplification set additionally 14 variables to zero. [2025-03-17 20:00:38,199 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:38,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:38,200 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) [2025-03-17 20:00:38,201 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 [2025-03-17 20:00:38,202 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 20:00:38,212 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-03-17 20:00:38,212 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 20:00:38,213 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_init_nondet_~x#1.offset, v_rep(select #length ULTIMATE.start_init_nondet_~x#1.base)_1, ULTIMATE.start_init_nondet_~i~0#1) = -1*ULTIMATE.start_init_nondet_~x#1.offset + 2*v_rep(select #length ULTIMATE.start_init_nondet_~x#1.base)_1 - 4*ULTIMATE.start_init_nondet_~i~0#1 Supporting invariants [] [2025-03-17 20:00:38,218 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:38,241 INFO L156 tatePredicateManager]: 8 out of 8 supporting invariants were superfluous and have been removed [2025-03-17 20:00:38,249 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #length [2025-03-17 20:00:38,250 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#length,GLOBAL] [2025-03-17 20:00:38,250 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: ~x!offset [2025-03-17 20:00:38,269 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:38,277 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:00:38,286 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:00:38,287 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,287 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:38,288 INFO L256 TraceCheckSpWp]: Trace formula consists of 40 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 20:00:38,288 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:38,300 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 20:00:38,302 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 20:00:38,302 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,302 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:38,304 INFO L256 TraceCheckSpWp]: Trace formula consists of 13 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-17 20:00:38,304 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:38,307 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:38,327 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 1 loop predicates [2025-03-17 20:00:38,329 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 26 states, 25 states have (on average 1.56) internal successors, (39), 25 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 1.5) internal successors, (3), 2 states have internal predecessors, (3), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:38,349 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 26 states, 25 states have (on average 1.56) internal successors, (39), 25 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0). Second operand has 2 states, 2 states have (on average 1.5) internal successors, (3), 2 states have internal predecessors, (3), 0 states have call successors, (0), 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 31 states and 45 transitions. Complement of second has 3 states. [2025-03-17 20:00:38,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 2 states 1 stem states 0 non-accepting loop states 1 accepting loop states [2025-03-17 20:00:38,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 1.5) internal successors, (3), 2 states have internal predecessors, (3), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:38,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 6 transitions. [2025-03-17 20:00:38,357 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 2 states and 6 transitions. Stem has 2 letters. Loop has 1 letters. [2025-03-17 20:00:38,357 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:38,358 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 2 states and 6 transitions. Stem has 3 letters. Loop has 1 letters. [2025-03-17 20:00:38,358 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:38,358 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 2 states and 6 transitions. Stem has 2 letters. Loop has 2 letters. [2025-03-17 20:00:38,358 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:38,358 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 31 states and 45 transitions. [2025-03-17 20:00:38,359 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:38,362 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 31 states to 19 states and 30 transitions. [2025-03-17 20:00:38,362 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-03-17 20:00:38,363 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-03-17 20:00:38,363 INFO L73 IsDeterministic]: Start isDeterministic. Operand 19 states and 30 transitions. [2025-03-17 20:00:38,363 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:00:38,363 INFO L218 hiAutomatonCegarLoop]: Abstraction has 19 states and 30 transitions. [2025-03-17 20:00:38,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states and 30 transitions. [2025-03-17 20:00:38,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 18. [2025-03-17 20:00:38,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 17 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:38,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 28 transitions. [2025-03-17 20:00:38,377 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18 states and 28 transitions. [2025-03-17 20:00:38,377 INFO L432 stractBuchiCegarLoop]: Abstraction has 18 states and 28 transitions. [2025-03-17 20:00:38,377 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-03-17 20:00:38,378 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18 states and 28 transitions. [2025-03-17 20:00:38,379 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:38,379 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:38,379 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:38,379 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2025-03-17 20:00:38,379 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:38,379 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" [2025-03-17 20:00:38,379 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" [2025-03-17 20:00:38,380 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:38,380 INFO L85 PathProgramCache]: Analyzing trace with hash 72424, now seen corresponding path program 1 times [2025-03-17 20:00:38,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:38,380 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1669064527] [2025-03-17 20:00:38,380 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:38,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:38,383 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:38,388 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:38,388 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,388 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:38,435 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:38,436 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:38,436 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1669064527] [2025-03-17 20:00:38,436 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1669064527] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 20:00:38,436 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 20:00:38,436 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-03-17 20:00:38,437 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [645625846] [2025-03-17 20:00:38,437 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 20:00:38,438 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:38,438 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:38,438 INFO L85 PathProgramCache]: Analyzing trace with hash 66467, now seen corresponding path program 1 times [2025-03-17 20:00:38,438 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:38,438 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [996726633] [2025-03-17 20:00:38,438 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:38,438 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:38,442 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:38,447 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:38,448 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,448 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:38,448 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:38,449 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:38,460 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:38,461 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,461 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:38,462 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:38,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:38,545 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-17 20:00:38,545 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-17 20:00:38,546 INFO L87 Difference]: Start difference. First operand 18 states and 28 transitions. cyclomatic complexity: 15 Second operand has 3 states, 2 states have (on average 1.5) internal successors, (3), 3 states have internal predecessors, (3), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:38,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:38,570 INFO L93 Difference]: Finished difference Result 18 states and 27 transitions. [2025-03-17 20:00:38,570 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18 states and 27 transitions. [2025-03-17 20:00:38,571 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:38,572 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18 states to 18 states and 27 transitions. [2025-03-17 20:00:38,572 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-03-17 20:00:38,572 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17 [2025-03-17 20:00:38,572 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18 states and 27 transitions. [2025-03-17 20:00:38,572 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:00:38,572 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18 states and 27 transitions. [2025-03-17 20:00:38,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18 states and 27 transitions. [2025-03-17 20:00:38,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18 to 18. [2025-03-17 20:00:38,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.5) internal successors, (27), 17 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) [2025-03-17 20:00:38,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 27 transitions. [2025-03-17 20:00:38,574 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18 states and 27 transitions. [2025-03-17 20:00:38,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-17 20:00:38,575 INFO L432 stractBuchiCegarLoop]: Abstraction has 18 states and 27 transitions. [2025-03-17 20:00:38,575 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-03-17 20:00:38,576 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18 states and 27 transitions. [2025-03-17 20:00:38,576 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:38,576 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:38,576 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:38,577 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-03-17 20:00:38,577 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:38,577 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" [2025-03-17 20:00:38,578 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" [2025-03-17 20:00:38,578 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:38,578 INFO L85 PathProgramCache]: Analyzing trace with hash 2245214, now seen corresponding path program 1 times [2025-03-17 20:00:38,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:38,578 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1764129252] [2025-03-17 20:00:38,578 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:38,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:38,584 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-17 20:00:38,589 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-17 20:00:38,589 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,589 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:38,632 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:38,632 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:38,633 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1764129252] [2025-03-17 20:00:38,633 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1764129252] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:38,633 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1355475097] [2025-03-17 20:00:38,633 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:38,633 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:38,633 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:38,635 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:38,636 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2025-03-17 20:00:38,662 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-17 20:00:38,671 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-17 20:00:38,671 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,671 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:38,672 INFO L256 TraceCheckSpWp]: Trace formula consists of 66 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-03-17 20:00:38,673 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:38,697 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:38,698 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:38,711 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:38,711 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1355475097] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:38,711 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:38,711 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 6 [2025-03-17 20:00:38,711 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1942802285] [2025-03-17 20:00:38,711 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:38,712 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:38,712 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:38,712 INFO L85 PathProgramCache]: Analyzing trace with hash 66467, now seen corresponding path program 2 times [2025-03-17 20:00:38,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:38,712 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [976882609] [2025-03-17 20:00:38,712 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:38,712 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:38,716 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:38,719 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:38,722 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:00:38,722 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:38,722 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:38,723 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:38,730 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:38,730 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,730 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:38,731 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:38,793 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:38,794 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-03-17 20:00:38,794 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2025-03-17 20:00:38,794 INFO L87 Difference]: Start difference. First operand 18 states and 27 transitions. cyclomatic complexity: 14 Second operand has 7 states, 6 states have (on average 1.5) internal successors, (9), 7 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:38,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:38,819 INFO L93 Difference]: Finished difference Result 19 states and 28 transitions. [2025-03-17 20:00:38,819 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 19 states and 28 transitions. [2025-03-17 20:00:38,820 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:38,820 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 19 states to 19 states and 28 transitions. [2025-03-17 20:00:38,820 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-03-17 20:00:38,820 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17 [2025-03-17 20:00:38,820 INFO L73 IsDeterministic]: Start isDeterministic. Operand 19 states and 28 transitions. [2025-03-17 20:00:38,820 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:00:38,820 INFO L218 hiAutomatonCegarLoop]: Abstraction has 19 states and 28 transitions. [2025-03-17 20:00:38,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states and 28 transitions. [2025-03-17 20:00:38,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2025-03-17 20:00:38,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 18 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:38,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 28 transitions. [2025-03-17 20:00:38,822 INFO L240 hiAutomatonCegarLoop]: Abstraction has 19 states and 28 transitions. [2025-03-17 20:00:38,822 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-17 20:00:38,823 INFO L432 stractBuchiCegarLoop]: Abstraction has 19 states and 28 transitions. [2025-03-17 20:00:38,823 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-03-17 20:00:38,823 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 19 states and 28 transitions. [2025-03-17 20:00:38,827 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:38,827 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:38,827 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:38,827 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 1, 1, 1] [2025-03-17 20:00:38,827 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:38,827 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" [2025-03-17 20:00:38,827 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" [2025-03-17 20:00:38,827 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:38,827 INFO L85 PathProgramCache]: Analyzing trace with hash 69601704, now seen corresponding path program 2 times [2025-03-17 20:00:38,827 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:38,827 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [410342983] [2025-03-17 20:00:38,827 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:38,827 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:38,832 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 5 statements into 2 equivalence classes. [2025-03-17 20:00:38,841 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 5 of 5 statements. [2025-03-17 20:00:38,841 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:38,841 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:38,841 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:38,846 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-17 20:00:38,854 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-17 20:00:38,854 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,854 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:38,857 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:38,858 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:38,858 INFO L85 PathProgramCache]: Analyzing trace with hash 66467, now seen corresponding path program 3 times [2025-03-17 20:00:38,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:38,858 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [612834889] [2025-03-17 20:00:38,858 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:38,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:38,862 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:38,868 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:38,869 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 20:00:38,869 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:38,869 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:38,870 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:38,872 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:38,877 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,877 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:38,878 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:38,882 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:38,883 INFO L85 PathProgramCache]: Analyzing trace with hash -964803428, now seen corresponding path program 1 times [2025-03-17 20:00:38,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:38,883 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1585247454] [2025-03-17 20:00:38,883 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:38,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:38,889 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-03-17 20:00:38,906 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-03-17 20:00:38,907 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:38,907 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:38,952 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 [2025-03-17 20:00:39,007 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-03-17 20:00:39,008 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:39,008 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1585247454] [2025-03-17 20:00:39,009 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1585247454] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 20:00:39,009 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 20:00:39,009 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-17 20:00:39,009 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1387939355] [2025-03-17 20:00:39,009 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 20:00:39,081 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:39,082 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-17 20:00:39,082 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-03-17 20:00:39,082 INFO L87 Difference]: Start difference. First operand 19 states and 28 transitions. cyclomatic complexity: 14 Second operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:39,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:39,129 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2025-03-17 20:00:39,130 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28 states and 37 transitions. [2025-03-17 20:00:39,130 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:39,132 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28 states to 28 states and 37 transitions. [2025-03-17 20:00:39,132 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2025-03-17 20:00:39,133 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2025-03-17 20:00:39,133 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28 states and 37 transitions. [2025-03-17 20:00:39,133 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:00:39,133 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28 states and 37 transitions. [2025-03-17 20:00:39,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states and 37 transitions. [2025-03-17 20:00:39,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 25. [2025-03-17 20:00:39,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.36) internal successors, (34), 24 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:39,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 34 transitions. [2025-03-17 20:00:39,136 INFO L240 hiAutomatonCegarLoop]: Abstraction has 25 states and 34 transitions. [2025-03-17 20:00:39,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-17 20:00:39,137 INFO L432 stractBuchiCegarLoop]: Abstraction has 25 states and 34 transitions. [2025-03-17 20:00:39,137 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-03-17 20:00:39,137 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 25 states and 34 transitions. [2025-03-17 20:00:39,138 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:39,138 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:39,138 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:39,138 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 1, 1, 1, 1, 1] [2025-03-17 20:00:39,138 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:39,139 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" [2025-03-17 20:00:39,139 INFO L754 eck$LassoCheckResult]: Loop: "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:39,139 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:39,139 INFO L85 PathProgramCache]: Analyzing trace with hash -1832238009, now seen corresponding path program 1 times [2025-03-17 20:00:39,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:39,139 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [951930223] [2025-03-17 20:00:39,139 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:39,139 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:39,145 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-03-17 20:00:39,152 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-03-17 20:00:39,152 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:39,152 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:39,153 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:39,159 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-03-17 20:00:39,165 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-03-17 20:00:39,166 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:39,166 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:39,168 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:39,168 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:39,169 INFO L85 PathProgramCache]: Analyzing trace with hash 63647, now seen corresponding path program 4 times [2025-03-17 20:00:39,169 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:39,169 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [295379350] [2025-03-17 20:00:39,169 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:00:39,169 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:39,171 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 3 statements into 2 equivalence classes. [2025-03-17 20:00:39,174 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:39,174 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:00:39,174 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:39,174 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:39,175 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:39,176 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:39,176 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:39,177 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:39,178 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:39,178 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:39,179 INFO L85 PathProgramCache]: Analyzing trace with hash 536872601, now seen corresponding path program 1 times [2025-03-17 20:00:39,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:39,179 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [457231398] [2025-03-17 20:00:39,179 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:39,179 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:39,185 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-03-17 20:00:39,196 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-03-17 20:00:39,196 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:39,196 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:39,284 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-03-17 20:00:39,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:39,285 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [457231398] [2025-03-17 20:00:39,285 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [457231398] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:39,285 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1997761521] [2025-03-17 20:00:39,285 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:39,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:39,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:39,287 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:39,288 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2025-03-17 20:00:39,317 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-03-17 20:00:39,326 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-03-17 20:00:39,326 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:39,326 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:39,327 INFO L256 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-03-17 20:00:39,327 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:39,356 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-03-17 20:00:39,356 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:39,469 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-03-17 20:00:39,470 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1997761521] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:39,470 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:39,470 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 8 [2025-03-17 20:00:39,470 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2129623805] [2025-03-17 20:00:39,470 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:39,523 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:39,524 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2025-03-17 20:00:39,524 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=40, Unknown=0, NotChecked=0, Total=72 [2025-03-17 20:00:39,524 INFO L87 Difference]: Start difference. First operand 25 states and 34 transitions. cyclomatic complexity: 14 Second operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 9 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:39,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:39,598 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2025-03-17 20:00:39,598 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 40 states and 49 transitions. [2025-03-17 20:00:39,599 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 13 [2025-03-17 20:00:39,599 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 40 states to 40 states and 49 transitions. [2025-03-17 20:00:39,599 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 38 [2025-03-17 20:00:39,599 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 38 [2025-03-17 20:00:39,599 INFO L73 IsDeterministic]: Start isDeterministic. Operand 40 states and 49 transitions. [2025-03-17 20:00:39,599 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:00:39,599 INFO L218 hiAutomatonCegarLoop]: Abstraction has 40 states and 49 transitions. [2025-03-17 20:00:39,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states and 49 transitions. [2025-03-17 20:00:39,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2025-03-17 20:00:39,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.2647058823529411) internal successors, (43), 33 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:39,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2025-03-17 20:00:39,601 INFO L240 hiAutomatonCegarLoop]: Abstraction has 34 states and 43 transitions. [2025-03-17 20:00:39,602 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-17 20:00:39,602 INFO L432 stractBuchiCegarLoop]: Abstraction has 34 states and 43 transitions. [2025-03-17 20:00:39,602 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-03-17 20:00:39,602 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 34 states and 43 transitions. [2025-03-17 20:00:39,602 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 10 [2025-03-17 20:00:39,603 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:39,603 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:39,603 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1] [2025-03-17 20:00:39,603 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:39,603 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" [2025-03-17 20:00:39,603 INFO L754 eck$LassoCheckResult]: Loop: "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:39,603 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:39,603 INFO L85 PathProgramCache]: Analyzing trace with hash 536872602, now seen corresponding path program 1 times [2025-03-17 20:00:39,603 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:39,604 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1600232591] [2025-03-17 20:00:39,604 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:39,604 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:39,607 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-03-17 20:00:39,613 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-03-17 20:00:39,613 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:39,613 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:39,613 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:39,615 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-03-17 20:00:39,618 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-03-17 20:00:39,618 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:39,619 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:39,620 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:39,621 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:39,621 INFO L85 PathProgramCache]: Analyzing trace with hash 63647, now seen corresponding path program 5 times [2025-03-17 20:00:39,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:39,621 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1685290719] [2025-03-17 20:00:39,621 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:00:39,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:39,623 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:39,624 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:39,625 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:00:39,625 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:39,625 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:39,625 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:39,626 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:39,627 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:39,627 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:39,627 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:39,628 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:39,628 INFO L85 PathProgramCache]: Analyzing trace with hash -486490266, now seen corresponding path program 2 times [2025-03-17 20:00:39,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:39,628 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [342516191] [2025-03-17 20:00:39,628 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:39,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:39,632 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 13 statements into 2 equivalence classes. [2025-03-17 20:00:39,638 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 20:00:39,638 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:39,638 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:39,703 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2025-03-17 20:00:39,703 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:39,703 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [342516191] [2025-03-17 20:00:39,703 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [342516191] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:39,703 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [948882827] [2025-03-17 20:00:39,703 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:39,703 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:39,703 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:39,706 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) [2025-03-17 20:00:39,707 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2025-03-17 20:00:39,736 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 13 statements into 2 equivalence classes. [2025-03-17 20:00:39,746 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 20:00:39,746 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:39,746 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:39,747 INFO L256 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-03-17 20:00:39,747 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:39,822 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:39,822 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:39,918 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:39,918 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [948882827] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:39,919 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:39,919 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 8, 8] total 14 [2025-03-17 20:00:39,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [767116382] [2025-03-17 20:00:39,919 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:39,968 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:39,969 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2025-03-17 20:00:39,969 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2025-03-17 20:00:39,969 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. cyclomatic complexity: 14 Second operand has 15 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 15 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) [2025-03-17 20:00:40,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:40,262 INFO L93 Difference]: Finished difference Result 98 states and 123 transitions. [2025-03-17 20:00:40,262 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 98 states and 123 transitions. [2025-03-17 20:00:40,263 INFO L131 ngComponentsAnalysis]: Automaton has 15 accepting balls. 39 [2025-03-17 20:00:40,265 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 98 states to 98 states and 123 transitions. [2025-03-17 20:00:40,265 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 95 [2025-03-17 20:00:40,266 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 95 [2025-03-17 20:00:40,266 INFO L73 IsDeterministic]: Start isDeterministic. Operand 98 states and 123 transitions. [2025-03-17 20:00:40,266 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:00:40,266 INFO L218 hiAutomatonCegarLoop]: Abstraction has 98 states and 123 transitions. [2025-03-17 20:00:40,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states and 123 transitions. [2025-03-17 20:00:40,270 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 66. [2025-03-17 20:00:40,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 66 states have (on average 1.303030303030303) internal successors, (86), 65 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:40,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 86 transitions. [2025-03-17 20:00:40,272 INFO L240 hiAutomatonCegarLoop]: Abstraction has 66 states and 86 transitions. [2025-03-17 20:00:40,273 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2025-03-17 20:00:40,274 INFO L432 stractBuchiCegarLoop]: Abstraction has 66 states and 86 transitions. [2025-03-17 20:00:40,274 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-03-17 20:00:40,274 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 66 states and 86 transitions. [2025-03-17 20:00:40,276 INFO L131 ngComponentsAnalysis]: Automaton has 11 accepting balls. 29 [2025-03-17 20:00:40,276 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:40,276 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:40,277 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1] [2025-03-17 20:00:40,277 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:40,277 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:40,277 INFO L754 eck$LassoCheckResult]: Loop: "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:40,277 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:40,277 INFO L85 PathProgramCache]: Analyzing trace with hash 155865802, now seen corresponding path program 2 times [2025-03-17 20:00:40,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:40,277 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1406560860] [2025-03-17 20:00:40,277 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:40,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:40,284 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 9 statements into 2 equivalence classes. [2025-03-17 20:00:40,291 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 9 of 9 statements. [2025-03-17 20:00:40,291 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:40,291 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:40,291 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:40,294 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 9 statements into 1 equivalence classes. [2025-03-17 20:00:40,298 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 9 of 9 statements. [2025-03-17 20:00:40,298 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:40,298 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:40,300 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:40,300 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:40,301 INFO L85 PathProgramCache]: Analyzing trace with hash 65478, now seen corresponding path program 1 times [2025-03-17 20:00:40,301 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:40,301 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1766907485] [2025-03-17 20:00:40,301 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:40,301 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:40,302 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:40,303 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:40,303 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:40,303 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:40,303 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:40,304 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:40,304 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:40,304 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:40,304 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:40,305 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:40,305 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:40,305 INFO L85 PathProgramCache]: Analyzing trace with hash 538496093, now seen corresponding path program 3 times [2025-03-17 20:00:40,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:40,305 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258099658] [2025-03-17 20:00:40,305 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:40,306 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:40,309 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 12 statements into 3 equivalence classes. [2025-03-17 20:00:40,314 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) and asserted 12 of 12 statements. [2025-03-17 20:00:40,315 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2025-03-17 20:00:40,315 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:40,382 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:40,382 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:40,382 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1258099658] [2025-03-17 20:00:40,382 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1258099658] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:40,382 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1332857584] [2025-03-17 20:00:40,382 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:40,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:40,383 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:40,384 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) [2025-03-17 20:00:40,386 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2025-03-17 20:00:40,418 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 12 statements into 3 equivalence classes. [2025-03-17 20:00:40,428 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) and asserted 12 of 12 statements. [2025-03-17 20:00:40,428 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2025-03-17 20:00:40,428 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:40,429 INFO L256 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-03-17 20:00:40,429 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:40,479 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:40,480 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:40,529 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:40,530 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1332857584] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:40,530 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:40,530 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 12 [2025-03-17 20:00:40,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1971243680] [2025-03-17 20:00:40,530 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:40,557 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 20:00:40,557 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 20:00:40,557 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 20:00:40,557 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 20:00:40,557 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-17 20:00:40,557 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:40,557 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 20:00:40,557 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 20:00:40,557 INFO L132 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration7_Loop [2025-03-17 20:00:40,557 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 20:00:40,557 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 20:00:40,559 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:40,565 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:40,598 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 20:00:40,598 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-17 20:00:40,599 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:40,599 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:40,601 INFO L229 MonitoredProcess]: Starting monitored process 16 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) [2025-03-17 20:00:40,602 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2025-03-17 20:00:40,603 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 20:00:40,603 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 20:00:40,619 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:40,619 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:40,620 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:40,621 INFO L229 MonitoredProcess]: Starting monitored process 17 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) [2025-03-17 20:00:40,623 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2025-03-17 20:00:40,624 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-17 20:00:40,624 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 20:00:40,701 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-17 20:00:40,705 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Ended with exit code 0 [2025-03-17 20:00:40,705 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 20:00:40,705 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 20:00:40,705 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 20:00:40,705 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 20:00:40,705 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 20:00:40,705 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:40,705 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 20:00:40,705 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 20:00:40,705 INFO L132 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration7_Loop [2025-03-17 20:00:40,705 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 20:00:40,705 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 20:00:40,706 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:40,712 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:40,746 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 20:00:40,746 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 20:00:40,746 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:40,746 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:40,749 INFO L229 MonitoredProcess]: Starting monitored process 18 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) [2025-03-17 20:00:40,750 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2025-03-17 20:00:40,752 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 [2025-03-17 20:00:40,761 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:40,762 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:40,762 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:40,762 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:40,762 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:40,763 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:40,763 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:40,764 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 20:00:40,767 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2025-03-17 20:00:40,767 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-03-17 20:00:40,767 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:40,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:40,769 INFO L229 MonitoredProcess]: Starting monitored process 19 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) [2025-03-17 20:00:40,770 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2025-03-17 20:00:40,770 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 20:00:40,771 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-17 20:00:40,771 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 20:00:40,771 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_rangesum_~i~1#1, ~N~0) = -8*ULTIMATE.start_rangesum_~i~1#1 + 5*~N~0 Supporting invariants [] [2025-03-17 20:00:40,775 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:40,776 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-17 20:00:40,787 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:40,794 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 9 statements into 1 equivalence classes. [2025-03-17 20:00:40,802 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 9 of 9 statements. [2025-03-17 20:00:40,802 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:40,802 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:40,802 INFO L256 TraceCheckSpWp]: Trace formula consists of 82 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 20:00:40,803 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:40,813 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:40,814 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:40,814 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:40,814 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:40,814 WARN L254 TraceCheckSpWp]: Trace formula consists of 6 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-17 20:00:40,814 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:40,874 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:40,874 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2025-03-17 20:00:40,875 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 66 states and 86 transitions. cyclomatic complexity: 32 Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:40,915 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 66 states and 86 transitions. cyclomatic complexity: 32. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 79 states and 102 transitions. Complement of second has 9 states. [2025-03-17 20:00:40,918 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-03-17 20:00:40,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:40,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 13 transitions. [2025-03-17 20:00:40,918 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 13 transitions. Stem has 9 letters. Loop has 3 letters. [2025-03-17 20:00:40,918 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:40,919 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 13 transitions. Stem has 12 letters. Loop has 3 letters. [2025-03-17 20:00:40,919 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:40,919 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 13 transitions. Stem has 9 letters. Loop has 6 letters. [2025-03-17 20:00:40,919 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:40,919 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 79 states and 102 transitions. [2025-03-17 20:00:40,920 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 23 [2025-03-17 20:00:40,922 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 79 states to 75 states and 98 transitions. [2025-03-17 20:00:40,922 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 55 [2025-03-17 20:00:40,922 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2025-03-17 20:00:40,922 INFO L73 IsDeterministic]: Start isDeterministic. Operand 75 states and 98 transitions. [2025-03-17 20:00:40,922 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:40,922 INFO L218 hiAutomatonCegarLoop]: Abstraction has 75 states and 98 transitions. [2025-03-17 20:00:40,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states and 98 transitions. [2025-03-17 20:00:40,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 71. [2025-03-17 20:00:40,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 71 states have (on average 1.323943661971831) internal successors, (94), 70 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:40,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 94 transitions. [2025-03-17 20:00:40,929 INFO L240 hiAutomatonCegarLoop]: Abstraction has 71 states and 94 transitions. [2025-03-17 20:00:40,929 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:40,929 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2025-03-17 20:00:40,929 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2025-03-17 20:00:40,929 INFO L87 Difference]: Start difference. First operand 71 states and 94 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 13 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:41,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:41,025 INFO L93 Difference]: Finished difference Result 78 states and 101 transitions. [2025-03-17 20:00:41,025 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 78 states and 101 transitions. [2025-03-17 20:00:41,026 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 23 [2025-03-17 20:00:41,027 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 78 states to 76 states and 99 transitions. [2025-03-17 20:00:41,027 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2025-03-17 20:00:41,027 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 61 [2025-03-17 20:00:41,027 INFO L73 IsDeterministic]: Start isDeterministic. Operand 76 states and 99 transitions. [2025-03-17 20:00:41,027 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:41,027 INFO L218 hiAutomatonCegarLoop]: Abstraction has 76 states and 99 transitions. [2025-03-17 20:00:41,027 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states and 99 transitions. [2025-03-17 20:00:41,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 74. [2025-03-17 20:00:41,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 74 states have (on average 1.3108108108108107) internal successors, (97), 73 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:41,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 97 transitions. [2025-03-17 20:00:41,030 INFO L240 hiAutomatonCegarLoop]: Abstraction has 74 states and 97 transitions. [2025-03-17 20:00:41,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-03-17 20:00:41,032 INFO L432 stractBuchiCegarLoop]: Abstraction has 74 states and 97 transitions. [2025-03-17 20:00:41,032 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-03-17 20:00:41,032 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 74 states and 97 transitions. [2025-03-17 20:00:41,035 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 23 [2025-03-17 20:00:41,035 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:41,035 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:41,035 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 1, 1, 1, 1] [2025-03-17 20:00:41,035 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:41,036 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:41,036 INFO L754 eck$LassoCheckResult]: Loop: "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:41,036 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:41,036 INFO L85 PathProgramCache]: Analyzing trace with hash 1720159068, now seen corresponding path program 3 times [2025-03-17 20:00:41,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:41,036 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1280709694] [2025-03-17 20:00:41,036 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:41,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:41,044 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 14 statements into 3 equivalence classes. [2025-03-17 20:00:41,059 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) and asserted 14 of 14 statements. [2025-03-17 20:00:41,060 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2025-03-17 20:00:41,060 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:41,060 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:41,061 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-17 20:00:41,072 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-17 20:00:41,073 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:41,074 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:41,077 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:41,079 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:41,079 INFO L85 PathProgramCache]: Analyzing trace with hash 63647, now seen corresponding path program 6 times [2025-03-17 20:00:41,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:41,079 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [460314340] [2025-03-17 20:00:41,079 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:00:41,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:41,082 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:41,084 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:41,084 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-17 20:00:41,084 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:41,084 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:41,084 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:41,085 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:41,085 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:41,085 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:41,088 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:41,089 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:41,090 INFO L85 PathProgramCache]: Analyzing trace with hash 2004020068, now seen corresponding path program 4 times [2025-03-17 20:00:41,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:41,090 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2021644681] [2025-03-17 20:00:41,090 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:00:41,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:41,096 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 17 statements into 2 equivalence classes. [2025-03-17 20:00:41,101 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 15 of 17 statements. [2025-03-17 20:00:41,101 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-17 20:00:41,102 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:41,181 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 3 proven. 12 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-17 20:00:41,182 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:41,182 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2021644681] [2025-03-17 20:00:41,182 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2021644681] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:41,182 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [428772396] [2025-03-17 20:00:41,182 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:00:41,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:41,182 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:41,184 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) [2025-03-17 20:00:41,185 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2025-03-17 20:00:41,220 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 17 statements into 2 equivalence classes. [2025-03-17 20:00:41,228 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 15 of 17 statements. [2025-03-17 20:00:41,228 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-17 20:00:41,228 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:41,231 INFO L256 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-03-17 20:00:41,232 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:41,281 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 3 proven. 12 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-17 20:00:41,281 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:41,326 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 3 proven. 12 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-17 20:00:41,326 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [428772396] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:41,326 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:41,326 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 15 [2025-03-17 20:00:41,327 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [816803633] [2025-03-17 20:00:41,327 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:41,381 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Ended with exit code 0 [2025-03-17 20:00:41,403 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:41,404 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2025-03-17 20:00:41,404 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=149, Unknown=0, NotChecked=0, Total=210 [2025-03-17 20:00:41,405 INFO L87 Difference]: Start difference. First operand 74 states and 97 transitions. cyclomatic complexity: 36 Second operand has 15 states, 15 states have (on average 2.2) internal successors, (33), 15 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) [2025-03-17 20:00:41,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:41,555 INFO L93 Difference]: Finished difference Result 113 states and 141 transitions. [2025-03-17 20:00:41,555 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 113 states and 141 transitions. [2025-03-17 20:00:41,556 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 23 [2025-03-17 20:00:41,557 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 113 states to 109 states and 137 transitions. [2025-03-17 20:00:41,557 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 90 [2025-03-17 20:00:41,557 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 90 [2025-03-17 20:00:41,557 INFO L73 IsDeterministic]: Start isDeterministic. Operand 109 states and 137 transitions. [2025-03-17 20:00:41,557 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:41,557 INFO L218 hiAutomatonCegarLoop]: Abstraction has 109 states and 137 transitions. [2025-03-17 20:00:41,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states and 137 transitions. [2025-03-17 20:00:41,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 85. [2025-03-17 20:00:41,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 85 states have (on average 1.3176470588235294) internal successors, (112), 84 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:41,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 112 transitions. [2025-03-17 20:00:41,564 INFO L240 hiAutomatonCegarLoop]: Abstraction has 85 states and 112 transitions. [2025-03-17 20:00:41,565 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-03-17 20:00:41,565 INFO L432 stractBuchiCegarLoop]: Abstraction has 85 states and 112 transitions. [2025-03-17 20:00:41,566 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-03-17 20:00:41,566 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 85 states and 112 transitions. [2025-03-17 20:00:41,566 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 23 [2025-03-17 20:00:41,566 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:41,566 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:41,567 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 3, 3, 3, 1, 1, 1, 1] [2025-03-17 20:00:41,567 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:41,567 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:41,567 INFO L754 eck$LassoCheckResult]: Loop: "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:41,568 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:41,568 INFO L85 PathProgramCache]: Analyzing trace with hash 2004049859, now seen corresponding path program 5 times [2025-03-17 20:00:41,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:41,568 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2114191206] [2025-03-17 20:00:41,568 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:00:41,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:41,574 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 17 statements into 4 equivalence classes. [2025-03-17 20:00:41,582 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) and asserted 17 of 17 statements. [2025-03-17 20:00:41,586 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2025-03-17 20:00:41,586 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:41,727 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:41,728 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:41,728 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2114191206] [2025-03-17 20:00:41,728 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2114191206] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:41,728 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [3285715] [2025-03-17 20:00:41,728 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:00:41,728 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:41,728 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:41,730 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) [2025-03-17 20:00:41,732 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2025-03-17 20:00:41,770 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 17 statements into 4 equivalence classes. [2025-03-17 20:00:41,782 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) and asserted 17 of 17 statements. [2025-03-17 20:00:41,782 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2025-03-17 20:00:41,782 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:41,782 INFO L256 TraceCheckSpWp]: Trace formula consists of 110 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-03-17 20:00:41,783 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:41,879 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 15 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:41,880 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:41,981 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 15 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:41,981 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [3285715] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:41,981 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:41,981 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 22 [2025-03-17 20:00:41,981 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1569166305] [2025-03-17 20:00:41,981 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:41,981 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:41,982 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:41,982 INFO L85 PathProgramCache]: Analyzing trace with hash 63647, now seen corresponding path program 7 times [2025-03-17 20:00:41,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:41,982 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1917822864] [2025-03-17 20:00:41,982 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:00:41,982 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:41,984 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:41,985 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:41,985 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:41,985 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:41,985 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:41,986 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:41,987 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:41,987 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:41,987 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:41,988 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:42,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:42,037 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2025-03-17 20:00:42,037 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=369, Unknown=0, NotChecked=0, Total=462 [2025-03-17 20:00:42,037 INFO L87 Difference]: Start difference. First operand 85 states and 112 transitions. cyclomatic complexity: 40 Second operand has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 22 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:42,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:42,288 INFO L93 Difference]: Finished difference Result 105 states and 131 transitions. [2025-03-17 20:00:42,288 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 105 states and 131 transitions. [2025-03-17 20:00:42,290 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 23 [2025-03-17 20:00:42,290 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 105 states to 100 states and 125 transitions. [2025-03-17 20:00:42,290 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 81 [2025-03-17 20:00:42,291 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 87 [2025-03-17 20:00:42,291 INFO L73 IsDeterministic]: Start isDeterministic. Operand 100 states and 125 transitions. [2025-03-17 20:00:42,291 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:42,291 INFO L218 hiAutomatonCegarLoop]: Abstraction has 100 states and 125 transitions. [2025-03-17 20:00:42,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states and 125 transitions. [2025-03-17 20:00:42,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 88. [2025-03-17 20:00:42,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 87 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:42,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 111 transitions. [2025-03-17 20:00:42,297 INFO L240 hiAutomatonCegarLoop]: Abstraction has 88 states and 111 transitions. [2025-03-17 20:00:42,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2025-03-17 20:00:42,314 INFO L432 stractBuchiCegarLoop]: Abstraction has 88 states and 111 transitions. [2025-03-17 20:00:42,314 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-03-17 20:00:42,314 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 111 transitions. [2025-03-17 20:00:42,314 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 23 [2025-03-17 20:00:42,314 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:42,315 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:42,315 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:42,315 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:42,315 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:42,315 INFO L754 eck$LassoCheckResult]: Loop: "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:42,318 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:42,318 INFO L85 PathProgramCache]: Analyzing trace with hash -932897442, now seen corresponding path program 1 times [2025-03-17 20:00:42,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:42,318 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [818545584] [2025-03-17 20:00:42,318 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:42,318 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:42,325 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-03-17 20:00:42,334 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-03-17 20:00:42,334 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:42,334 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:42,357 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-17 20:00:42,358 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:42,358 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [818545584] [2025-03-17 20:00:42,358 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [818545584] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 20:00:42,358 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 20:00:42,358 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-17 20:00:42,358 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1103491172] [2025-03-17 20:00:42,358 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 20:00:42,359 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:42,360 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:42,360 INFO L85 PathProgramCache]: Analyzing trace with hash 55548, now seen corresponding path program 1 times [2025-03-17 20:00:42,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:42,360 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1642642886] [2025-03-17 20:00:42,360 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:42,360 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:42,363 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:42,364 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:42,365 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:42,365 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:42,365 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:42,366 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:42,367 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:42,367 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:42,367 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:42,368 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:42,401 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 20:00:42,402 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 20:00:42,402 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 20:00:42,402 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 20:00:42,402 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-17 20:00:42,402 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:42,402 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 20:00:42,402 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 20:00:42,402 INFO L132 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration10_Loop [2025-03-17 20:00:42,402 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 20:00:42,402 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 20:00:42,403 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:42,405 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:42,447 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 20:00:42,447 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-17 20:00:42,447 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:42,447 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:42,453 INFO L229 MonitoredProcess]: Starting monitored process 22 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) [2025-03-17 20:00:42,456 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2025-03-17 20:00:42,457 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 20:00:42,458 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 20:00:42,471 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 20:00:42,471 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_rangesum_#t~post4#1=0} Honda state: {ULTIMATE.start_rangesum_#t~post4#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-03-17 20:00:42,481 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Ended with exit code 0 [2025-03-17 20:00:42,481 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:42,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:42,484 INFO L229 MonitoredProcess]: Starting monitored process 23 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) [2025-03-17 20:00:42,485 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2025-03-17 20:00:42,487 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 20:00:42,487 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 20:00:42,503 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:42,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:42,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:42,505 INFO L229 MonitoredProcess]: Starting monitored process 24 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) [2025-03-17 20:00:42,506 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2025-03-17 20:00:42,508 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-17 20:00:42,508 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 20:00:42,648 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-17 20:00:42,656 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:42,656 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 20:00:42,656 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 20:00:42,656 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 20:00:42,656 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 20:00:42,656 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 20:00:42,656 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:42,656 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 20:00:42,656 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 20:00:42,656 INFO L132 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration10_Loop [2025-03-17 20:00:42,656 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 20:00:42,656 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 20:00:42,657 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:42,658 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:42,699 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 20:00:42,699 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 20:00:42,699 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:42,699 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:42,701 INFO L229 MonitoredProcess]: Starting monitored process 25 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) [2025-03-17 20:00:42,703 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2025-03-17 20:00:42,703 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 [2025-03-17 20:00:42,713 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:42,713 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:42,713 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:42,713 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:42,713 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:42,713 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:42,713 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:42,714 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:42,719 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Ended with exit code 0 [2025-03-17 20:00:42,719 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:42,719 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:42,721 INFO L229 MonitoredProcess]: Starting monitored process 26 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) [2025-03-17 20:00:42,722 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2025-03-17 20:00:42,722 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 [2025-03-17 20:00:42,731 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:42,731 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:42,731 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:42,732 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:42,732 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:42,732 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:42,733 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:42,734 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 20:00:42,737 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2025-03-17 20:00:42,737 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-03-17 20:00:42,737 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:42,737 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:42,739 INFO L229 MonitoredProcess]: Starting monitored process 27 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) [2025-03-17 20:00:42,740 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2025-03-17 20:00:42,740 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 20:00:42,740 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-17 20:00:42,740 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 20:00:42,740 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(~N~0, ULTIMATE.start_rangesum_~i~1#1) = 5*~N~0 - 8*ULTIMATE.start_rangesum_~i~1#1 Supporting invariants [] [2025-03-17 20:00:42,745 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Ended with exit code 0 [2025-03-17 20:00:42,746 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-17 20:00:42,755 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:42,766 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-03-17 20:00:42,777 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-03-17 20:00:42,777 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:42,777 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:42,777 INFO L256 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 20:00:42,778 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:42,799 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:42,800 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:42,800 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:42,800 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:42,800 WARN L254 TraceCheckSpWp]: Trace formula consists of 6 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-17 20:00:42,800 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:42,873 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:42,873 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2025-03-17 20:00:42,873 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 88 states and 111 transitions. cyclomatic complexity: 34 Second operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 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) [2025-03-17 20:00:42,917 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 88 states and 111 transitions. cyclomatic complexity: 34. Second operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 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) Result 104 states and 129 transitions. Complement of second has 9 states. [2025-03-17 20:00:42,918 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-03-17 20:00:42,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.25) internal successors, (17), 4 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) [2025-03-17 20:00:42,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 20 transitions. [2025-03-17 20:00:42,919 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 20 transitions. Stem has 18 letters. Loop has 3 letters. [2025-03-17 20:00:42,919 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:42,919 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 20 transitions. Stem has 21 letters. Loop has 3 letters. [2025-03-17 20:00:42,919 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:42,919 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 20 transitions. Stem has 18 letters. Loop has 6 letters. [2025-03-17 20:00:42,919 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:42,919 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 104 states and 129 transitions. [2025-03-17 20:00:42,920 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 17 [2025-03-17 20:00:42,920 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 104 states to 95 states and 119 transitions. [2025-03-17 20:00:42,920 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 63 [2025-03-17 20:00:42,921 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 68 [2025-03-17 20:00:42,921 INFO L73 IsDeterministic]: Start isDeterministic. Operand 95 states and 119 transitions. [2025-03-17 20:00:42,921 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:42,921 INFO L218 hiAutomatonCegarLoop]: Abstraction has 95 states and 119 transitions. [2025-03-17 20:00:42,921 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states and 119 transitions. [2025-03-17 20:00:42,922 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 88. [2025-03-17 20:00:42,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 88 states have (on average 1.2727272727272727) internal successors, (112), 87 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:42,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 112 transitions. [2025-03-17 20:00:42,923 INFO L240 hiAutomatonCegarLoop]: Abstraction has 88 states and 112 transitions. [2025-03-17 20:00:42,923 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:42,923 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-17 20:00:42,924 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-17 20:00:42,924 INFO L87 Difference]: Start difference. First operand 88 states and 112 transitions. Second operand has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:42,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:42,947 INFO L93 Difference]: Finished difference Result 94 states and 116 transitions. [2025-03-17 20:00:42,947 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 94 states and 116 transitions. [2025-03-17 20:00:42,948 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 17 [2025-03-17 20:00:42,949 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 94 states to 94 states and 116 transitions. [2025-03-17 20:00:42,949 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 69 [2025-03-17 20:00:42,949 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 69 [2025-03-17 20:00:42,949 INFO L73 IsDeterministic]: Start isDeterministic. Operand 94 states and 116 transitions. [2025-03-17 20:00:42,949 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:42,949 INFO L218 hiAutomatonCegarLoop]: Abstraction has 94 states and 116 transitions. [2025-03-17 20:00:42,949 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states and 116 transitions. [2025-03-17 20:00:42,954 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 94. [2025-03-17 20:00:42,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 94 states have (on average 1.2340425531914894) internal successors, (116), 93 states have internal predecessors, (116), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:42,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 116 transitions. [2025-03-17 20:00:42,955 INFO L240 hiAutomatonCegarLoop]: Abstraction has 94 states and 116 transitions. [2025-03-17 20:00:42,956 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-17 20:00:42,956 INFO L432 stractBuchiCegarLoop]: Abstraction has 94 states and 116 transitions. [2025-03-17 20:00:42,956 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-03-17 20:00:42,956 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 94 states and 116 transitions. [2025-03-17 20:00:42,956 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 17 [2025-03-17 20:00:42,957 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:42,957 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:42,957 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 3, 1, 1, 1, 1] [2025-03-17 20:00:42,957 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:42,957 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:42,957 INFO L754 eck$LassoCheckResult]: Loop: "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:42,957 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:42,957 INFO L85 PathProgramCache]: Analyzing trace with hash 36126905, now seen corresponding path program 6 times [2025-03-17 20:00:42,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:42,959 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [565690111] [2025-03-17 20:00:42,959 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:00:42,959 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:42,965 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 18 statements into 4 equivalence classes. [2025-03-17 20:00:42,977 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) and asserted 18 of 18 statements. [2025-03-17 20:00:42,978 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2025-03-17 20:00:42,978 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:42,978 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:42,980 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-03-17 20:00:42,986 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-03-17 20:00:42,989 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:42,990 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:42,992 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:42,992 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:42,992 INFO L85 PathProgramCache]: Analyzing trace with hash 63647, now seen corresponding path program 8 times [2025-03-17 20:00:42,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:42,992 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972811850] [2025-03-17 20:00:42,992 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:42,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:42,994 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:42,996 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:42,996 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:00:42,996 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:42,996 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:42,996 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:42,997 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:42,997 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:42,998 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:43,002 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:43,002 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:43,002 INFO L85 PathProgramCache]: Analyzing trace with hash -1780130585, now seen corresponding path program 7 times [2025-03-17 20:00:43,002 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:43,002 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1914146485] [2025-03-17 20:00:43,002 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:00:43,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:43,007 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-03-17 20:00:43,011 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-03-17 20:00:43,011 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:43,011 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:43,112 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 4 proven. 17 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2025-03-17 20:00:43,112 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:43,113 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1914146485] [2025-03-17 20:00:43,113 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1914146485] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:43,113 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [501219073] [2025-03-17 20:00:43,113 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:00:43,113 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:43,113 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:43,115 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) [2025-03-17 20:00:43,116 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2025-03-17 20:00:43,156 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-03-17 20:00:43,167 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-03-17 20:00:43,167 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:43,167 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:43,169 INFO L256 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 12 conjuncts are in the unsatisfiable core [2025-03-17 20:00:43,170 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:43,257 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:43,257 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:43,328 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:43,328 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [501219073] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:43,328 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:43,328 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 12, 12] total 19 [2025-03-17 20:00:43,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [933898611] [2025-03-17 20:00:43,329 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:43,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:43,392 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2025-03-17 20:00:43,392 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=252, Unknown=0, NotChecked=0, Total=342 [2025-03-17 20:00:43,393 INFO L87 Difference]: Start difference. First operand 94 states and 116 transitions. cyclomatic complexity: 33 Second operand has 19 states, 19 states have (on average 2.210526315789474) internal successors, (42), 19 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:43,504 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Ended with exit code 0 [2025-03-17 20:00:43,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:43,691 INFO L93 Difference]: Finished difference Result 171 states and 201 transitions. [2025-03-17 20:00:43,691 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 171 states and 201 transitions. [2025-03-17 20:00:43,692 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 15 [2025-03-17 20:00:43,693 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 171 states to 144 states and 174 transitions. [2025-03-17 20:00:43,693 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 97 [2025-03-17 20:00:43,693 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 121 [2025-03-17 20:00:43,693 INFO L73 IsDeterministic]: Start isDeterministic. Operand 144 states and 174 transitions. [2025-03-17 20:00:43,693 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:43,693 INFO L218 hiAutomatonCegarLoop]: Abstraction has 144 states and 174 transitions. [2025-03-17 20:00:43,694 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states and 174 transitions. [2025-03-17 20:00:43,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 124. [2025-03-17 20:00:43,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 124 states have (on average 1.2419354838709677) internal successors, (154), 123 states have internal predecessors, (154), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:43,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 154 transitions. [2025-03-17 20:00:43,700 INFO L240 hiAutomatonCegarLoop]: Abstraction has 124 states and 154 transitions. [2025-03-17 20:00:43,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2025-03-17 20:00:43,701 INFO L432 stractBuchiCegarLoop]: Abstraction has 124 states and 154 transitions. [2025-03-17 20:00:43,701 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-03-17 20:00:43,701 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 124 states and 154 transitions. [2025-03-17 20:00:43,702 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 14 [2025-03-17 20:00:43,702 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:43,702 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:43,702 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 4, 3, 3, 1, 1, 1, 1] [2025-03-17 20:00:43,702 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:43,702 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:43,702 INFO L754 eck$LassoCheckResult]: Loop: "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:43,704 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:43,704 INFO L85 PathProgramCache]: Analyzing trace with hash -839942525, now seen corresponding path program 8 times [2025-03-17 20:00:43,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:43,704 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [769267719] [2025-03-17 20:00:43,704 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:43,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:43,711 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 19 statements into 2 equivalence classes. [2025-03-17 20:00:43,729 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 19 of 19 statements. [2025-03-17 20:00:43,730 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:43,730 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:43,730 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:43,732 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-03-17 20:00:43,741 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-03-17 20:00:43,742 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:43,742 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:43,744 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:43,745 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:43,745 INFO L85 PathProgramCache]: Analyzing trace with hash 63647, now seen corresponding path program 9 times [2025-03-17 20:00:43,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:43,745 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [454163718] [2025-03-17 20:00:43,745 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:43,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:43,747 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:43,749 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:43,749 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 20:00:43,749 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:43,749 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:43,749 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:43,751 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:43,751 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:43,751 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:43,752 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:43,754 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:43,754 INFO L85 PathProgramCache]: Analyzing trace with hash -248261923, now seen corresponding path program 9 times [2025-03-17 20:00:43,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:43,754 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160225033] [2025-03-17 20:00:43,754 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:43,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:43,760 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 22 statements into 5 equivalence classes. [2025-03-17 20:00:43,781 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) and asserted 22 of 22 statements. [2025-03-17 20:00:43,782 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2025-03-17 20:00:43,782 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:43,782 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:43,784 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-03-17 20:00:43,794 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-03-17 20:00:43,794 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:43,794 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:43,796 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:44,756 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 20:00:44,756 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 20:00:44,756 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 20:00:44,756 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 20:00:44,756 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 20:00:44,756 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:44,756 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 20:00:44,756 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 20:00:44,756 INFO L132 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration12_Lasso [2025-03-17 20:00:44,756 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 20:00:44,756 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 20:00:44,757 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:44,759 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:44,760 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:44,761 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:44,762 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,001 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,003 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,005 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,006 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,007 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,008 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,009 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,010 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,011 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,012 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,014 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,015 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,016 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,017 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,019 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,025 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,026 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,027 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,028 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,029 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,030 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,032 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,033 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:45,263 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 20:00:45,263 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 20:00:45,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,265 INFO L229 MonitoredProcess]: Starting monitored process 29 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) [2025-03-17 20:00:45,266 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2025-03-17 20:00:45,266 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 [2025-03-17 20:00:45,275 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,276 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:45,276 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,276 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,276 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,276 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:45,276 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:45,277 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,281 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Ended with exit code 0 [2025-03-17 20:00:45,282 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,283 INFO L229 MonitoredProcess]: Starting monitored process 30 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) [2025-03-17 20:00:45,284 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Waiting until timeout for monitored process [2025-03-17 20:00:45,284 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 [2025-03-17 20:00:45,294 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,294 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:45,294 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,294 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,294 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,294 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:45,294 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:45,295 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,299 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Ended with exit code 0 [2025-03-17 20:00:45,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,301 INFO L229 MonitoredProcess]: Starting monitored process 31 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) [2025-03-17 20:00:45,302 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Waiting until timeout for monitored process [2025-03-17 20:00:45,303 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 [2025-03-17 20:00:45,312 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,312 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:45,312 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,312 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,312 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,312 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:45,312 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:45,313 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,318 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Ended with exit code 0 [2025-03-17 20:00:45,318 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,318 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,319 INFO L229 MonitoredProcess]: Starting monitored process 32 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) [2025-03-17 20:00:45,320 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Waiting until timeout for monitored process [2025-03-17 20:00:45,322 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 [2025-03-17 20:00:45,331 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,331 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:45,331 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,331 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,331 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,332 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:45,332 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:45,333 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,338 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:45,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,340 INFO L229 MonitoredProcess]: Starting monitored process 33 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) [2025-03-17 20:00:45,341 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Waiting until timeout for monitored process [2025-03-17 20:00:45,342 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 [2025-03-17 20:00:45,351 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,351 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,351 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,351 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,352 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:45,352 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:45,354 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,359 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Ended with exit code 0 [2025-03-17 20:00:45,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,361 INFO L229 MonitoredProcess]: Starting monitored process 34 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) [2025-03-17 20:00:45,362 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Waiting until timeout for monitored process [2025-03-17 20:00:45,362 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 [2025-03-17 20:00:45,371 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,372 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,372 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,372 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,373 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:45,373 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:45,375 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,381 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Ended with exit code 0 [2025-03-17 20:00:45,381 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,381 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,382 INFO L229 MonitoredProcess]: Starting monitored process 35 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) [2025-03-17 20:00:45,383 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Waiting until timeout for monitored process [2025-03-17 20:00:45,384 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 [2025-03-17 20:00:45,393 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,393 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,393 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,393 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,396 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:45,396 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:45,399 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,407 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Ended with exit code 0 [2025-03-17 20:00:45,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,409 INFO L229 MonitoredProcess]: Starting monitored process 36 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) [2025-03-17 20:00:45,410 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Waiting until timeout for monitored process [2025-03-17 20:00:45,411 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 [2025-03-17 20:00:45,420 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,420 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:45,420 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,420 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,420 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,420 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:45,420 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:45,421 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,426 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Ended with exit code 0 [2025-03-17 20:00:45,427 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,427 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,428 INFO L229 MonitoredProcess]: Starting monitored process 37 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) [2025-03-17 20:00:45,429 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Waiting until timeout for monitored process [2025-03-17 20:00:45,430 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 [2025-03-17 20:00:45,439 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,439 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,439 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,439 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,440 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:45,440 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:45,442 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,447 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Ended with exit code 0 [2025-03-17 20:00:45,447 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,447 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,449 INFO L229 MonitoredProcess]: Starting monitored process 38 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) [2025-03-17 20:00:45,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Waiting until timeout for monitored process [2025-03-17 20:00:45,451 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 [2025-03-17 20:00:45,460 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,460 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:45,460 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,460 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,460 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,460 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:45,460 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:45,461 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,466 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Ended with exit code 0 [2025-03-17 20:00:45,466 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,466 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,468 INFO L229 MonitoredProcess]: Starting monitored process 39 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) [2025-03-17 20:00:45,469 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Waiting until timeout for monitored process [2025-03-17 20:00:45,470 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 [2025-03-17 20:00:45,480 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,480 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,480 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,480 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,481 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:45,481 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:45,483 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,488 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:45,488 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,488 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,490 INFO L229 MonitoredProcess]: Starting monitored process 40 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) [2025-03-17 20:00:45,491 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Waiting until timeout for monitored process [2025-03-17 20:00:45,491 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 [2025-03-17 20:00:45,501 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,501 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,501 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,501 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,504 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:45,504 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:45,508 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,513 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Ended with exit code 0 [2025-03-17 20:00:45,513 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,513 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,515 INFO L229 MonitoredProcess]: Starting monitored process 41 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) [2025-03-17 20:00:45,516 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Waiting until timeout for monitored process [2025-03-17 20:00:45,517 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 [2025-03-17 20:00:45,526 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,526 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,526 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,526 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,527 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:45,527 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:45,530 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,535 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Ended with exit code 0 [2025-03-17 20:00:45,535 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,535 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,536 INFO L229 MonitoredProcess]: Starting monitored process 42 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) [2025-03-17 20:00:45,537 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Waiting until timeout for monitored process [2025-03-17 20:00:45,538 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 [2025-03-17 20:00:45,547 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,547 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:45,547 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,547 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,547 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,547 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:45,547 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:45,548 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,553 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Ended with exit code 0 [2025-03-17 20:00:45,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,555 INFO L229 MonitoredProcess]: Starting monitored process 43 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) [2025-03-17 20:00:45,556 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Waiting until timeout for monitored process [2025-03-17 20:00:45,557 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 [2025-03-17 20:00:45,566 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,566 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:45,566 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,566 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,566 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,566 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:45,566 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:45,567 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:45,572 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Ended with exit code 0 [2025-03-17 20:00:45,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,573 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,574 INFO L229 MonitoredProcess]: Starting monitored process 44 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) [2025-03-17 20:00:45,576 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Waiting until timeout for monitored process [2025-03-17 20:00:45,577 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 [2025-03-17 20:00:45,586 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:45,586 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:45,586 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:45,586 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:45,590 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:45,590 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:45,601 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 20:00:45,617 INFO L443 ModelExtractionUtils]: Simplification made 11 calls to the SMT solver. [2025-03-17 20:00:45,617 INFO L444 ModelExtractionUtils]: 8 out of 22 variables were initially zero. Simplification set additionally 11 variables to zero. [2025-03-17 20:00:45,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:45,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:45,619 INFO L229 MonitoredProcess]: Starting monitored process 45 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) [2025-03-17 20:00:45,620 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Waiting until timeout for monitored process [2025-03-17 20:00:45,620 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 20:00:45,630 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-03-17 20:00:45,630 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 20:00:45,631 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(~N~0, ULTIMATE.start_rangesum_~i~1#1) = 1*~N~0 - 1*ULTIMATE.start_rangesum_~i~1#1 Supporting invariants [] [2025-03-17 20:00:45,636 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Ended with exit code 0 [2025-03-17 20:00:45,656 INFO L156 tatePredicateManager]: 13 out of 13 supporting invariants were superfluous and have been removed [2025-03-17 20:00:45,663 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:45,673 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-03-17 20:00:45,683 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-03-17 20:00:45,684 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:45,684 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:45,684 INFO L256 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 20:00:45,685 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:45,701 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:45,702 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:45,702 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:45,702 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:45,703 INFO L256 TraceCheckSpWp]: Trace formula consists of 14 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-03-17 20:00:45,703 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:45,716 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:45,717 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2025-03-17 20:00:45,717 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 124 states and 154 transitions. cyclomatic complexity: 39 Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:45,741 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 124 states and 154 transitions. cyclomatic complexity: 39. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 187 states and 231 transitions. Complement of second has 7 states. [2025-03-17 20:00:45,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-03-17 20:00:45,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:45,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 29 transitions. [2025-03-17 20:00:45,742 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 19 letters. Loop has 3 letters. [2025-03-17 20:00:45,743 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:45,743 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 22 letters. Loop has 3 letters. [2025-03-17 20:00:45,743 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:45,743 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 19 letters. Loop has 6 letters. [2025-03-17 20:00:45,743 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:45,743 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 187 states and 231 transitions. [2025-03-17 20:00:45,744 INFO L131 ngComponentsAnalysis]: Automaton has 10 accepting balls. 22 [2025-03-17 20:00:45,745 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 187 states to 185 states and 229 transitions. [2025-03-17 20:00:45,745 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 146 [2025-03-17 20:00:45,745 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 150 [2025-03-17 20:00:45,745 INFO L73 IsDeterministic]: Start isDeterministic. Operand 185 states and 229 transitions. [2025-03-17 20:00:45,745 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:45,745 INFO L218 hiAutomatonCegarLoop]: Abstraction has 185 states and 229 transitions. [2025-03-17 20:00:45,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states and 229 transitions. [2025-03-17 20:00:45,746 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 125. [2025-03-17 20:00:45,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 125 states have (on average 1.248) internal successors, (156), 124 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:45,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 156 transitions. [2025-03-17 20:00:45,747 INFO L240 hiAutomatonCegarLoop]: Abstraction has 125 states and 156 transitions. [2025-03-17 20:00:45,747 INFO L432 stractBuchiCegarLoop]: Abstraction has 125 states and 156 transitions. [2025-03-17 20:00:45,747 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-03-17 20:00:45,747 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 125 states and 156 transitions. [2025-03-17 20:00:45,748 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 11 [2025-03-17 20:00:45,748 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:45,748 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:45,748 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:45,748 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2025-03-17 20:00:45,748 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume !(0 != rangesum_~cnt~0#1);rangesum_#res#1 := 0;" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume !(0 != rangesum_~cnt~0#1);rangesum_#res#1 := 0;" "main_#t~ret9#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret2~0#1 := main_#t~ret9#1;havoc main_#t~ret9#1;call main_#t~mem10#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem10#1;havoc main_#t~mem10#1;main_~i~2#1 := 0;" [2025-03-17 20:00:45,749 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~i~2#1 < ~N~0 - 1;call main_#t~mem11#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset + 4 * (1 + main_~i~2#1), 4);call write~int#1(main_#t~mem11#1, main_~#x~0#1.base, main_~#x~0#1.offset + 4 * main_~i~2#1, 4);havoc main_#t~mem11#1;main_#t~post12#1 := main_~i~2#1;main_~i~2#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1;" [2025-03-17 20:00:45,749 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:45,749 INFO L85 PathProgramCache]: Analyzing trace with hash -152065314, now seen corresponding path program 1 times [2025-03-17 20:00:45,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:45,749 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [462903555] [2025-03-17 20:00:45,749 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:45,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:45,753 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 23 statements into 1 equivalence classes. [2025-03-17 20:00:45,758 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-03-17 20:00:45,758 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:45,758 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:45,759 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:45,760 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 23 statements into 1 equivalence classes. [2025-03-17 20:00:45,764 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-03-17 20:00:45,764 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:45,764 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:45,766 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:45,766 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:45,766 INFO L85 PathProgramCache]: Analyzing trace with hash 49, now seen corresponding path program 1 times [2025-03-17 20:00:45,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:45,766 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [242720759] [2025-03-17 20:00:45,766 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:45,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:45,769 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 20:00:45,770 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 20:00:45,770 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:45,771 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:45,771 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:45,771 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 20:00:45,771 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 20:00:45,772 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:45,772 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:45,772 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:45,773 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:45,773 INFO L85 PathProgramCache]: Analyzing trace with hash -419057420, now seen corresponding path program 1 times [2025-03-17 20:00:45,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:45,773 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [815899805] [2025-03-17 20:00:45,773 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:45,773 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:45,778 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-03-17 20:00:45,783 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-17 20:00:45,783 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:45,783 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:45,783 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:45,785 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-03-17 20:00:45,789 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-17 20:00:45,789 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:45,789 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:45,791 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:45,838 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Ended with exit code 0 [2025-03-17 20:00:46,356 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 20:00:46,356 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 20:00:46,356 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 20:00:46,356 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 20:00:46,356 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 20:00:46,356 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,356 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 20:00:46,356 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 20:00:46,356 INFO L132 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration13_Lasso [2025-03-17 20:00:46,356 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 20:00:46,356 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 20:00:46,357 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,359 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,360 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,361 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,362 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,363 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,364 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,365 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,367 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,368 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,369 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,370 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,372 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,373 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,374 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,375 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,376 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,383 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,384 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,385 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,386 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,387 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,388 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,389 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,390 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,391 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,392 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,393 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,394 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,395 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,398 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,527 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 20:00:46,714 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 20:00:46,714 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 20:00:46,714 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,714 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,716 INFO L229 MonitoredProcess]: Starting monitored process 46 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) [2025-03-17 20:00:46,717 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Waiting until timeout for monitored process [2025-03-17 20:00:46,718 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 [2025-03-17 20:00:46,727 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,727 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,727 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,727 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,727 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,728 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,728 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,728 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,733 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Ended with exit code 0 [2025-03-17 20:00:46,733 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,734 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,735 INFO L229 MonitoredProcess]: Starting monitored process 47 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) [2025-03-17 20:00:46,736 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Waiting until timeout for monitored process [2025-03-17 20:00:46,737 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 [2025-03-17 20:00:46,746 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,746 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,746 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,746 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,746 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,746 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,746 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,747 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,752 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Ended with exit code 0 [2025-03-17 20:00:46,752 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,753 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,754 INFO L229 MonitoredProcess]: Starting monitored process 48 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) [2025-03-17 20:00:46,755 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Waiting until timeout for monitored process [2025-03-17 20:00:46,755 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 [2025-03-17 20:00:46,765 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,765 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,765 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,765 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,765 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,765 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,765 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,766 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,771 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Ended with exit code 0 [2025-03-17 20:00:46,772 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,772 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,773 INFO L229 MonitoredProcess]: Starting monitored process 49 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) [2025-03-17 20:00:46,774 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Waiting until timeout for monitored process [2025-03-17 20:00:46,775 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 [2025-03-17 20:00:46,784 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,784 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,784 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,784 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,784 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,784 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,784 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,785 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,790 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Ended with exit code 0 [2025-03-17 20:00:46,791 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,791 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,792 INFO L229 MonitoredProcess]: Starting monitored process 50 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) [2025-03-17 20:00:46,794 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Waiting until timeout for monitored process [2025-03-17 20:00:46,795 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 [2025-03-17 20:00:46,804 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,804 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,804 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,805 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,805 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,805 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,805 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,806 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,811 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:46,811 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,813 INFO L229 MonitoredProcess]: Starting monitored process 51 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) [2025-03-17 20:00:46,814 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Waiting until timeout for monitored process [2025-03-17 20:00:46,814 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 [2025-03-17 20:00:46,823 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,824 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,824 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,824 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,824 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,824 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,824 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,825 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,830 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Ended with exit code 0 [2025-03-17 20:00:46,830 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,832 INFO L229 MonitoredProcess]: Starting monitored process 52 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) [2025-03-17 20:00:46,833 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Waiting until timeout for monitored process [2025-03-17 20:00:46,834 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 [2025-03-17 20:00:46,843 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,843 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,843 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,843 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,843 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,843 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,843 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,844 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,849 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Ended with exit code 0 [2025-03-17 20:00:46,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,851 INFO L229 MonitoredProcess]: Starting monitored process 53 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) [2025-03-17 20:00:46,852 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Waiting until timeout for monitored process [2025-03-17 20:00:46,853 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 [2025-03-17 20:00:46,862 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,862 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,862 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,862 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,862 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,862 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,862 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,863 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,868 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Ended with exit code 0 [2025-03-17 20:00:46,868 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,868 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,870 INFO L229 MonitoredProcess]: Starting monitored process 54 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) [2025-03-17 20:00:46,871 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Waiting until timeout for monitored process [2025-03-17 20:00:46,872 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 [2025-03-17 20:00:46,881 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,881 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,881 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,881 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,881 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,881 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,881 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,882 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,887 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Ended with exit code 0 [2025-03-17 20:00:46,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,889 INFO L229 MonitoredProcess]: Starting monitored process 55 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) [2025-03-17 20:00:46,890 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Waiting until timeout for monitored process [2025-03-17 20:00:46,891 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 [2025-03-17 20:00:46,900 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,900 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,900 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,900 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,900 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,901 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,901 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,902 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,907 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Ended with exit code 0 [2025-03-17 20:00:46,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,909 INFO L229 MonitoredProcess]: Starting monitored process 56 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) [2025-03-17 20:00:46,909 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Waiting until timeout for monitored process [2025-03-17 20:00:46,912 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 [2025-03-17 20:00:46,921 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,921 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,921 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,921 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,921 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,922 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,922 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,922 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,927 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:46,928 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,928 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,929 INFO L229 MonitoredProcess]: Starting monitored process 57 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) [2025-03-17 20:00:46,930 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Waiting until timeout for monitored process [2025-03-17 20:00:46,931 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 [2025-03-17 20:00:46,940 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,940 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,940 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,940 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,940 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,940 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,940 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,941 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,947 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Ended with exit code 0 [2025-03-17 20:00:46,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,947 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,949 INFO L229 MonitoredProcess]: Starting monitored process 58 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) [2025-03-17 20:00:46,949 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Waiting until timeout for monitored process [2025-03-17 20:00:46,951 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 [2025-03-17 20:00:46,960 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,960 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:46,960 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,960 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,960 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,960 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:46,960 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:46,961 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,967 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Ended with exit code 0 [2025-03-17 20:00:46,967 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,967 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,969 INFO L229 MonitoredProcess]: Starting monitored process 59 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) [2025-03-17 20:00:46,970 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Waiting until timeout for monitored process [2025-03-17 20:00:46,971 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 [2025-03-17 20:00:46,980 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:46,980 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:46,980 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:46,980 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:46,981 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:46,981 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:46,984 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:46,989 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Ended with exit code 0 [2025-03-17 20:00:46,990 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:46,990 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:46,991 INFO L229 MonitoredProcess]: Starting monitored process 60 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) [2025-03-17 20:00:46,992 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Waiting until timeout for monitored process [2025-03-17 20:00:46,993 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 [2025-03-17 20:00:47,005 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,005 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,005 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,005 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,005 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,005 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,005 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,006 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,012 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:47,012 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,012 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,014 INFO L229 MonitoredProcess]: Starting monitored process 61 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) [2025-03-17 20:00:47,015 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Waiting until timeout for monitored process [2025-03-17 20:00:47,015 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 [2025-03-17 20:00:47,024 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,025 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,025 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,025 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,025 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,025 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,025 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,026 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,031 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Ended with exit code 0 [2025-03-17 20:00:47,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,033 INFO L229 MonitoredProcess]: Starting monitored process 62 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) [2025-03-17 20:00:47,034 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Waiting until timeout for monitored process [2025-03-17 20:00:47,035 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 [2025-03-17 20:00:47,044 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,044 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,044 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,044 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,045 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:47,045 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:47,047 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,054 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Ended with exit code 0 [2025-03-17 20:00:47,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,056 INFO L229 MonitoredProcess]: Starting monitored process 63 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) [2025-03-17 20:00:47,058 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Waiting until timeout for monitored process [2025-03-17 20:00:47,058 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 [2025-03-17 20:00:47,069 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,070 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,070 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,070 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,071 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:47,071 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:47,073 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,079 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Ended with exit code 0 [2025-03-17 20:00:47,079 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,079 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,081 INFO L229 MonitoredProcess]: Starting monitored process 64 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) [2025-03-17 20:00:47,082 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Waiting until timeout for monitored process [2025-03-17 20:00:47,082 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 [2025-03-17 20:00:47,094 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,094 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,094 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,094 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,094 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,094 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,094 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,095 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,100 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Ended with exit code 0 [2025-03-17 20:00:47,100 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,100 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,102 INFO L229 MonitoredProcess]: Starting monitored process 65 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) [2025-03-17 20:00:47,103 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Waiting until timeout for monitored process [2025-03-17 20:00:47,104 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 [2025-03-17 20:00:47,115 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,115 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,115 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,115 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,115 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,116 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,116 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,117 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,122 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Ended with exit code 0 [2025-03-17 20:00:47,122 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,122 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,124 INFO L229 MonitoredProcess]: Starting monitored process 66 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) [2025-03-17 20:00:47,125 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Waiting until timeout for monitored process [2025-03-17 20:00:47,126 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 [2025-03-17 20:00:47,135 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,135 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,135 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,135 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,135 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,136 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,136 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,137 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,142 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:47,142 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,142 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,144 INFO L229 MonitoredProcess]: Starting monitored process 67 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) [2025-03-17 20:00:47,144 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Waiting until timeout for monitored process [2025-03-17 20:00:47,145 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 [2025-03-17 20:00:47,154 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,154 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,154 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,154 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,154 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,155 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,155 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,156 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,161 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Ended with exit code 0 [2025-03-17 20:00:47,161 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,161 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,163 INFO L229 MonitoredProcess]: Starting monitored process 68 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) [2025-03-17 20:00:47,164 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Waiting until timeout for monitored process [2025-03-17 20:00:47,165 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 [2025-03-17 20:00:47,174 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,174 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,174 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,174 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,175 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,175 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,175 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,176 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,181 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:47,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,183 INFO L229 MonitoredProcess]: Starting monitored process 69 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) [2025-03-17 20:00:47,184 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Waiting until timeout for monitored process [2025-03-17 20:00:47,185 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 [2025-03-17 20:00:47,196 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,196 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,196 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,196 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,196 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,196 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,196 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,197 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,202 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Ended with exit code 0 [2025-03-17 20:00:47,203 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,204 INFO L229 MonitoredProcess]: Starting monitored process 70 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) [2025-03-17 20:00:47,205 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (70)] Waiting until timeout for monitored process [2025-03-17 20:00:47,207 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 [2025-03-17 20:00:47,218 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,218 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,218 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,218 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,219 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:47,219 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:47,221 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,226 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (70)] Ended with exit code 0 [2025-03-17 20:00:47,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,228 INFO L229 MonitoredProcess]: Starting monitored process 71 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) [2025-03-17 20:00:47,235 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Waiting until timeout for monitored process [2025-03-17 20:00:47,235 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 [2025-03-17 20:00:47,245 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,245 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,245 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,245 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,245 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,245 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,245 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,246 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,251 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Ended with exit code 0 [2025-03-17 20:00:47,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,253 INFO L229 MonitoredProcess]: Starting monitored process 72 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) [2025-03-17 20:00:47,254 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Waiting until timeout for monitored process [2025-03-17 20:00:47,255 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 [2025-03-17 20:00:47,266 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,266 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,266 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,266 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,266 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,266 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,266 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,267 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,272 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Ended with exit code 0 [2025-03-17 20:00:47,272 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,273 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,274 INFO L229 MonitoredProcess]: Starting monitored process 73 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) [2025-03-17 20:00:47,275 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Waiting until timeout for monitored process [2025-03-17 20:00:47,276 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 [2025-03-17 20:00:47,285 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,285 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,285 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,285 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,285 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,285 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,285 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,286 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,291 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Ended with exit code 0 [2025-03-17 20:00:47,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,293 INFO L229 MonitoredProcess]: Starting monitored process 74 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) [2025-03-17 20:00:47,294 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Waiting until timeout for monitored process [2025-03-17 20:00:47,295 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 [2025-03-17 20:00:47,304 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,304 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,304 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,304 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,304 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,304 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,304 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,305 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,310 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Ended with exit code 0 [2025-03-17 20:00:47,311 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,311 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,312 INFO L229 MonitoredProcess]: Starting monitored process 75 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) [2025-03-17 20:00:47,313 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Waiting until timeout for monitored process [2025-03-17 20:00:47,314 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 [2025-03-17 20:00:47,325 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,325 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,325 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,325 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,325 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,325 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,325 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,326 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,331 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Ended with exit code 0 [2025-03-17 20:00:47,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,333 INFO L229 MonitoredProcess]: Starting monitored process 76 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) [2025-03-17 20:00:47,335 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Waiting until timeout for monitored process [2025-03-17 20:00:47,335 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 [2025-03-17 20:00:47,344 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,344 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 20:00:47,344 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,344 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,344 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,345 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 20:00:47,345 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 20:00:47,346 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,351 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Ended with exit code 0 [2025-03-17 20:00:47,352 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,352 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,353 INFO L229 MonitoredProcess]: Starting monitored process 77 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) [2025-03-17 20:00:47,354 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Waiting until timeout for monitored process [2025-03-17 20:00:47,355 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 [2025-03-17 20:00:47,365 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,365 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,365 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,365 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,367 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:47,367 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:47,371 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,377 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:47,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,382 INFO L229 MonitoredProcess]: Starting monitored process 78 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) [2025-03-17 20:00:47,383 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Waiting until timeout for monitored process [2025-03-17 20:00:47,383 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 [2025-03-17 20:00:47,393 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,393 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,393 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,393 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,394 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:47,394 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:47,396 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,401 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Ended with exit code 0 [2025-03-17 20:00:47,401 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,401 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,403 INFO L229 MonitoredProcess]: Starting monitored process 79 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) [2025-03-17 20:00:47,404 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Waiting until timeout for monitored process [2025-03-17 20:00:47,405 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 [2025-03-17 20:00:47,414 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,414 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,414 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,414 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,415 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:47,415 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:47,417 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,422 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Forceful destruction successful, exit code 0 [2025-03-17 20:00:47,423 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,423 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,424 INFO L229 MonitoredProcess]: Starting monitored process 80 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) [2025-03-17 20:00:47,425 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Waiting until timeout for monitored process [2025-03-17 20:00:47,426 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 [2025-03-17 20:00:47,435 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,435 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,435 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,435 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,436 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:47,436 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:47,439 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 20:00:47,445 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Ended with exit code 0 [2025-03-17 20:00:47,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,447 INFO L229 MonitoredProcess]: Starting monitored process 81 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) [2025-03-17 20:00:47,448 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Waiting until timeout for monitored process [2025-03-17 20:00:47,448 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 [2025-03-17 20:00:47,458 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 20:00:47,459 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 20:00:47,459 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 20:00:47,459 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 20:00:47,461 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 20:00:47,461 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 20:00:47,467 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 20:00:47,476 INFO L443 ModelExtractionUtils]: Simplification made 9 calls to the SMT solver. [2025-03-17 20:00:47,476 INFO L444 ModelExtractionUtils]: 6 out of 16 variables were initially zero. Simplification set additionally 7 variables to zero. [2025-03-17 20:00:47,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:00:47,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,478 INFO L229 MonitoredProcess]: Starting monitored process 82 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) [2025-03-17 20:00:47,478 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Waiting until timeout for monitored process [2025-03-17 20:00:47,479 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 20:00:47,489 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-03-17 20:00:47,489 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 20:00:47,489 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~i~2#1, ~N~0) = -1*ULTIMATE.start_main_~i~2#1 + 1*~N~0 Supporting invariants [] [2025-03-17 20:00:47,494 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Ended with exit code 0 [2025-03-17 20:00:47,499 INFO L156 tatePredicateManager]: 4 out of 4 supporting invariants were superfluous and have been removed [2025-03-17 20:00:47,506 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:47,515 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 23 statements into 1 equivalence classes. [2025-03-17 20:00:47,529 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 23 of 23 statements. [2025-03-17 20:00:47,529 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:47,529 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:47,530 INFO L256 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 20:00:47,531 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:47,555 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 20:00:47,556 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 20:00:47,556 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:47,556 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:47,557 INFO L256 TraceCheckSpWp]: Trace formula consists of 15 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-03-17 20:00:47,557 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:47,557 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:00:47,558 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 1 loop predicates [2025-03-17 20:00:47,558 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 125 states and 156 transitions. cyclomatic complexity: 40 Second operand has 2 states, 2 states have (on average 8.5) internal successors, (17), 2 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) [2025-03-17 20:00:47,564 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 125 states and 156 transitions. cyclomatic complexity: 40. Second operand has 2 states, 2 states have (on average 8.5) internal successors, (17), 2 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) Result 127 states and 159 transitions. Complement of second has 3 states. [2025-03-17 20:00:47,564 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 2 states 1 stem states 0 non-accepting loop states 1 accepting loop states [2025-03-17 20:00:47,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 8.5) internal successors, (17), 2 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) [2025-03-17 20:00:47,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 21 transitions. [2025-03-17 20:00:47,564 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 2 states and 21 transitions. Stem has 23 letters. Loop has 1 letters. [2025-03-17 20:00:47,565 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:47,565 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 2 states and 21 transitions. Stem has 24 letters. Loop has 1 letters. [2025-03-17 20:00:47,565 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:47,565 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 2 states and 21 transitions. Stem has 23 letters. Loop has 2 letters. [2025-03-17 20:00:47,565 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 20:00:47,565 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 127 states and 159 transitions. [2025-03-17 20:00:47,565 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:47,566 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 127 states to 67 states and 86 transitions. [2025-03-17 20:00:47,566 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2025-03-17 20:00:47,566 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2025-03-17 20:00:47,566 INFO L73 IsDeterministic]: Start isDeterministic. Operand 67 states and 86 transitions. [2025-03-17 20:00:47,566 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:47,566 INFO L218 hiAutomatonCegarLoop]: Abstraction has 67 states and 86 transitions. [2025-03-17 20:00:47,566 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states and 86 transitions. [2025-03-17 20:00:47,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2025-03-17 20:00:47,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 67 states have (on average 1.2835820895522387) internal successors, (86), 66 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:47,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 86 transitions. [2025-03-17 20:00:47,567 INFO L240 hiAutomatonCegarLoop]: Abstraction has 67 states and 86 transitions. [2025-03-17 20:00:47,567 INFO L432 stractBuchiCegarLoop]: Abstraction has 67 states and 86 transitions. [2025-03-17 20:00:47,567 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-03-17 20:00:47,567 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 67 states and 86 transitions. [2025-03-17 20:00:47,567 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:47,567 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:47,567 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:47,568 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:47,568 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:47,568 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume !(0 != rangesum_~cnt~0#1);rangesum_#res#1 := 0;" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:47,568 INFO L754 eck$LassoCheckResult]: Loop: "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" [2025-03-17 20:00:47,568 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:47,568 INFO L85 PathProgramCache]: Analyzing trace with hash -2087400621, now seen corresponding path program 1 times [2025-03-17 20:00:47,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:47,568 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166833925] [2025-03-17 20:00:47,568 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:47,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:47,575 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 28 statements into 1 equivalence classes. [2025-03-17 20:00:47,580 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 28 of 28 statements. [2025-03-17 20:00:47,581 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:47,581 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:47,659 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2025-03-17 20:00:47,659 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:47,660 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [166833925] [2025-03-17 20:00:47,660 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [166833925] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:47,660 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [557559341] [2025-03-17 20:00:47,660 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:47,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:47,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:47,662 INFO L229 MonitoredProcess]: Starting monitored process 83 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:47,663 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (83)] Waiting until timeout for monitored process [2025-03-17 20:00:47,713 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 28 statements into 1 equivalence classes. [2025-03-17 20:00:47,733 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 28 of 28 statements. [2025-03-17 20:00:47,733 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:47,733 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:47,735 INFO L256 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-03-17 20:00:47,736 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:47,844 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 10 proven. 10 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2025-03-17 20:00:47,844 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:47,946 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 10 proven. 10 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2025-03-17 20:00:47,946 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [557559341] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:47,946 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:47,946 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 11, 11] total 22 [2025-03-17 20:00:47,947 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1715989591] [2025-03-17 20:00:47,947 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:47,947 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:47,947 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:47,947 INFO L85 PathProgramCache]: Analyzing trace with hash 53717, now seen corresponding path program 1 times [2025-03-17 20:00:47,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:47,947 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1073072882] [2025-03-17 20:00:47,947 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:47,947 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:47,949 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:47,950 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:47,951 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:47,951 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:47,951 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:47,951 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:47,971 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:47,972 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:47,972 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:47,973 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:47,983 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Ended with exit code 0 [2025-03-17 20:00:48,035 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:48,035 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2025-03-17 20:00:48,035 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=367, Unknown=0, NotChecked=0, Total=462 [2025-03-17 20:00:48,035 INFO L87 Difference]: Start difference. First operand 67 states and 86 transitions. cyclomatic complexity: 27 Second operand has 22 states, 22 states have (on average 2.272727272727273) internal successors, (50), 22 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:48,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:48,229 INFO L93 Difference]: Finished difference Result 78 states and 90 transitions. [2025-03-17 20:00:48,229 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 78 states and 90 transitions. [2025-03-17 20:00:48,229 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:48,230 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 78 states to 67 states and 77 transitions. [2025-03-17 20:00:48,230 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 37 [2025-03-17 20:00:48,230 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 37 [2025-03-17 20:00:48,230 INFO L73 IsDeterministic]: Start isDeterministic. Operand 67 states and 77 transitions. [2025-03-17 20:00:48,230 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:48,230 INFO L218 hiAutomatonCegarLoop]: Abstraction has 67 states and 77 transitions. [2025-03-17 20:00:48,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states and 77 transitions. [2025-03-17 20:00:48,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 61. [2025-03-17 20:00:48,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 60 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) [2025-03-17 20:00:48,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2025-03-17 20:00:48,231 INFO L240 hiAutomatonCegarLoop]: Abstraction has 61 states and 71 transitions. [2025-03-17 20:00:48,232 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2025-03-17 20:00:48,232 INFO L432 stractBuchiCegarLoop]: Abstraction has 61 states and 71 transitions. [2025-03-17 20:00:48,232 INFO L338 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2025-03-17 20:00:48,232 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 61 states and 71 transitions. [2025-03-17 20:00:48,232 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:48,232 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:48,232 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:48,233 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:48,233 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:48,233 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:48,234 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:48,235 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:48,235 INFO L85 PathProgramCache]: Analyzing trace with hash 2040759419, now seen corresponding path program 1 times [2025-03-17 20:00:48,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:48,235 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [939697398] [2025-03-17 20:00:48,235 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:48,235 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:48,242 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 39 statements into 1 equivalence classes. [2025-03-17 20:00:48,268 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 39 of 39 statements. [2025-03-17 20:00:48,270 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:48,270 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-03-17 20:00:48,271 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1720430342] [2025-03-17 20:00:48,272 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:00:48,272 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:48,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:48,275 INFO L229 MonitoredProcess]: Starting monitored process 84 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:48,277 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (84)] Waiting until timeout for monitored process [2025-03-17 20:00:48,325 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 39 statements into 1 equivalence classes. [2025-03-17 20:00:48,350 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 39 of 39 statements. [2025-03-17 20:00:48,350 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:48,350 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:48,350 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:48,358 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 39 statements into 1 equivalence classes. [2025-03-17 20:00:48,367 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 39 of 39 statements. [2025-03-17 20:00:48,367 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:48,368 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:48,381 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:48,381 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:48,381 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 2 times [2025-03-17 20:00:48,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:48,381 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1159353126] [2025-03-17 20:00:48,381 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:48,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:48,383 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:48,385 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:48,385 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:00:48,385 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:48,385 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:48,386 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:48,387 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:48,387 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:48,387 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:48,388 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:48,388 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:48,388 INFO L85 PathProgramCache]: Analyzing trace with hash 1001801345, now seen corresponding path program 2 times [2025-03-17 20:00:48,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:48,388 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [570511439] [2025-03-17 20:00:48,388 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:48,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:48,394 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 42 statements into 2 equivalence classes. [2025-03-17 20:00:48,402 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 42 of 42 statements. [2025-03-17 20:00:48,404 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:48,404 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:48,622 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 22 proven. 28 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2025-03-17 20:00:48,622 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:48,622 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [570511439] [2025-03-17 20:00:48,622 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [570511439] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:48,622 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [834812491] [2025-03-17 20:00:48,624 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:48,624 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:48,625 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:48,626 INFO L229 MonitoredProcess]: Starting monitored process 85 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:48,628 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (85)] Waiting until timeout for monitored process [2025-03-17 20:00:48,676 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 42 statements into 2 equivalence classes. [2025-03-17 20:00:48,722 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 42 of 42 statements. [2025-03-17 20:00:48,723 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:48,723 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:48,724 INFO L256 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 14 conjuncts are in the unsatisfiable core [2025-03-17 20:00:48,725 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:48,853 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 35 proven. 15 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2025-03-17 20:00:48,854 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:48,952 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 35 proven. 15 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2025-03-17 20:00:48,952 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [834812491] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:48,952 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:48,952 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14, 14] total 22 [2025-03-17 20:00:48,952 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151236047] [2025-03-17 20:00:48,952 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:48,996 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:48,996 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2025-03-17 20:00:48,997 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=124, Invalid=382, Unknown=0, NotChecked=0, Total=506 [2025-03-17 20:00:48,997 INFO L87 Difference]: Start difference. First operand 61 states and 71 transitions. cyclomatic complexity: 18 Second operand has 23 states, 22 states have (on average 2.4545454545454546) internal successors, (54), 23 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) [2025-03-17 20:00:49,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:49,167 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2025-03-17 20:00:49,167 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 118 states and 132 transitions. [2025-03-17 20:00:49,168 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:49,168 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 118 states to 62 states and 72 transitions. [2025-03-17 20:00:49,168 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 34 [2025-03-17 20:00:49,168 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 34 [2025-03-17 20:00:49,168 INFO L73 IsDeterministic]: Start isDeterministic. Operand 62 states and 72 transitions. [2025-03-17 20:00:49,169 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:49,169 INFO L218 hiAutomatonCegarLoop]: Abstraction has 62 states and 72 transitions. [2025-03-17 20:00:49,169 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states and 72 transitions. [2025-03-17 20:00:49,169 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 62. [2025-03-17 20:00:49,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 61 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:49,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 72 transitions. [2025-03-17 20:00:49,170 INFO L240 hiAutomatonCegarLoop]: Abstraction has 62 states and 72 transitions. [2025-03-17 20:00:49,172 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2025-03-17 20:00:49,172 INFO L432 stractBuchiCegarLoop]: Abstraction has 62 states and 72 transitions. [2025-03-17 20:00:49,172 INFO L338 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2025-03-17 20:00:49,172 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 62 states and 72 transitions. [2025-03-17 20:00:49,172 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:49,172 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:49,172 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:49,173 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 5, 5, 5, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:49,173 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:49,173 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:49,173 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:49,174 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:49,174 INFO L85 PathProgramCache]: Analyzing trace with hash 1574480113, now seen corresponding path program 3 times [2025-03-17 20:00:49,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:49,174 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1680739701] [2025-03-17 20:00:49,174 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:49,174 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:49,181 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 40 statements into 6 equivalence classes. [2025-03-17 20:00:49,205 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) and asserted 37 of 40 statements. [2025-03-17 20:00:49,205 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2025-03-17 20:00:49,205 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:49,569 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 0 proven. 39 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2025-03-17 20:00:49,570 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:49,570 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1680739701] [2025-03-17 20:00:49,570 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1680739701] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:49,570 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [695464957] [2025-03-17 20:00:49,570 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:49,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:49,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:49,574 INFO L229 MonitoredProcess]: Starting monitored process 86 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:49,575 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (86)] Waiting until timeout for monitored process [2025-03-17 20:00:49,628 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 40 statements into 6 equivalence classes. [2025-03-17 20:00:49,667 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) and asserted 37 of 40 statements. [2025-03-17 20:00:49,667 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2025-03-17 20:00:49,667 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:49,669 INFO L256 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-03-17 20:00:49,670 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:49,865 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 22 proven. 21 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2025-03-17 20:00:49,865 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:50,229 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 28 proven. 15 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2025-03-17 20:00:50,229 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [695464957] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:50,229 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:50,229 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13, 13] total 34 [2025-03-17 20:00:50,229 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1461662507] [2025-03-17 20:00:50,229 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:50,230 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:50,230 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:50,230 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 3 times [2025-03-17 20:00:50,230 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:50,230 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631968814] [2025-03-17 20:00:50,230 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:50,230 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:50,232 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:50,234 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:50,234 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 20:00:50,234 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:50,235 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:50,235 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:50,236 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:50,236 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:50,236 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:50,237 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:50,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:50,283 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2025-03-17 20:00:50,283 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=208, Invalid=914, Unknown=0, NotChecked=0, Total=1122 [2025-03-17 20:00:50,283 INFO L87 Difference]: Start difference. First operand 62 states and 72 transitions. cyclomatic complexity: 18 Second operand has 34 states, 34 states have (on average 2.176470588235294) internal successors, (74), 34 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:50,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:50,752 INFO L93 Difference]: Finished difference Result 140 states and 160 transitions. [2025-03-17 20:00:50,752 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 140 states and 160 transitions. [2025-03-17 20:00:50,753 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 18 [2025-03-17 20:00:50,754 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 140 states to 140 states and 160 transitions. [2025-03-17 20:00:50,754 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 73 [2025-03-17 20:00:50,754 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 73 [2025-03-17 20:00:50,754 INFO L73 IsDeterministic]: Start isDeterministic. Operand 140 states and 160 transitions. [2025-03-17 20:00:50,754 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:50,754 INFO L218 hiAutomatonCegarLoop]: Abstraction has 140 states and 160 transitions. [2025-03-17 20:00:50,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states and 160 transitions. [2025-03-17 20:00:50,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 71. [2025-03-17 20:00:50,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 71 states have (on average 1.1408450704225352) internal successors, (81), 70 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:50,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 81 transitions. [2025-03-17 20:00:50,756 INFO L240 hiAutomatonCegarLoop]: Abstraction has 71 states and 81 transitions. [2025-03-17 20:00:50,756 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2025-03-17 20:00:50,756 INFO L432 stractBuchiCegarLoop]: Abstraction has 71 states and 81 transitions. [2025-03-17 20:00:50,756 INFO L338 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2025-03-17 20:00:50,756 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 71 states and 81 transitions. [2025-03-17 20:00:50,757 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:50,757 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:50,757 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:50,757 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:50,757 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:50,757 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:50,758 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:50,758 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:50,758 INFO L85 PathProgramCache]: Analyzing trace with hash -313587139, now seen corresponding path program 4 times [2025-03-17 20:00:50,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:50,758 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1298769563] [2025-03-17 20:00:50,758 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:00:50,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:50,764 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 46 statements into 2 equivalence classes. [2025-03-17 20:00:50,776 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 46 of 46 statements. [2025-03-17 20:00:50,776 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:00:50,776 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-03-17 20:00:50,777 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1941283362] [2025-03-17 20:00:50,777 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:00:50,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:50,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:50,780 INFO L229 MonitoredProcess]: Starting monitored process 87 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:50,781 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (87)] Waiting until timeout for monitored process [2025-03-17 20:00:50,835 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 46 statements into 2 equivalence classes. [2025-03-17 20:00:50,877 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 46 of 46 statements. [2025-03-17 20:00:50,877 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:00:50,877 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:50,877 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:50,885 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 46 statements into 1 equivalence classes. [2025-03-17 20:00:50,898 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 46 of 46 statements. [2025-03-17 20:00:50,898 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:50,898 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:50,911 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:50,912 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:50,912 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 4 times [2025-03-17 20:00:50,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:50,912 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1405936467] [2025-03-17 20:00:50,912 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:00:50,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:50,914 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 3 statements into 2 equivalence classes. [2025-03-17 20:00:50,915 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:50,915 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:00:50,915 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:50,915 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:50,915 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:50,916 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:50,916 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:50,916 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:50,917 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:50,917 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:50,917 INFO L85 PathProgramCache]: Analyzing trace with hash -520564353, now seen corresponding path program 5 times [2025-03-17 20:00:50,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:50,917 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1672514256] [2025-03-17 20:00:50,917 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:00:50,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:50,923 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 49 statements into 7 equivalence classes. [2025-03-17 20:00:50,935 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) and asserted 49 of 49 statements. [2025-03-17 20:00:50,935 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2025-03-17 20:00:50,935 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:51,146 INFO L134 CoverageAnalysis]: Checked inductivity of 123 backedges. 51 proven. 21 refuted. 0 times theorem prover too weak. 51 trivial. 0 not checked. [2025-03-17 20:00:51,146 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:51,146 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1672514256] [2025-03-17 20:00:51,146 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1672514256] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:51,146 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1855934982] [2025-03-17 20:00:51,147 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:00:51,147 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:51,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:51,148 INFO L229 MonitoredProcess]: Starting monitored process 88 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:51,149 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (88)] Waiting until timeout for monitored process [2025-03-17 20:00:51,200 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 49 statements into 7 equivalence classes. [2025-03-17 20:00:51,229 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) and asserted 49 of 49 statements. [2025-03-17 20:00:51,230 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2025-03-17 20:00:51,230 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:51,231 INFO L256 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 16 conjuncts are in the unsatisfiable core [2025-03-17 20:00:51,232 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:51,380 INFO L134 CoverageAnalysis]: Checked inductivity of 123 backedges. 51 proven. 21 refuted. 0 times theorem prover too weak. 51 trivial. 0 not checked. [2025-03-17 20:00:51,380 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:51,518 INFO L134 CoverageAnalysis]: Checked inductivity of 123 backedges. 51 proven. 21 refuted. 0 times theorem prover too weak. 51 trivial. 0 not checked. [2025-03-17 20:00:51,518 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1855934982] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:51,518 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:51,518 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16, 16] total 23 [2025-03-17 20:00:51,518 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [975085105] [2025-03-17 20:00:51,518 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:51,566 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:51,566 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2025-03-17 20:00:51,567 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=143, Invalid=409, Unknown=0, NotChecked=0, Total=552 [2025-03-17 20:00:51,567 INFO L87 Difference]: Start difference. First operand 71 states and 81 transitions. cyclomatic complexity: 18 Second operand has 24 states, 23 states have (on average 2.391304347826087) internal successors, (55), 24 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:51,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:51,815 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2025-03-17 20:00:51,815 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 137 states and 151 transitions. [2025-03-17 20:00:51,816 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:51,816 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 137 states to 72 states and 82 transitions. [2025-03-17 20:00:51,816 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 37 [2025-03-17 20:00:51,816 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 37 [2025-03-17 20:00:51,816 INFO L73 IsDeterministic]: Start isDeterministic. Operand 72 states and 82 transitions. [2025-03-17 20:00:51,816 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:51,816 INFO L218 hiAutomatonCegarLoop]: Abstraction has 72 states and 82 transitions. [2025-03-17 20:00:51,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states and 82 transitions. [2025-03-17 20:00:51,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 72. [2025-03-17 20:00:51,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 71 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:51,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 82 transitions. [2025-03-17 20:00:51,818 INFO L240 hiAutomatonCegarLoop]: Abstraction has 72 states and 82 transitions. [2025-03-17 20:00:51,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2025-03-17 20:00:51,820 INFO L432 stractBuchiCegarLoop]: Abstraction has 72 states and 82 transitions. [2025-03-17 20:00:51,820 INFO L338 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2025-03-17 20:00:51,820 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 72 states and 82 transitions. [2025-03-17 20:00:51,820 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:51,820 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:51,820 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:51,821 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:51,821 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:51,821 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:51,822 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:51,822 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:51,822 INFO L85 PathProgramCache]: Analyzing trace with hash 1603540231, now seen corresponding path program 6 times [2025-03-17 20:00:51,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:51,823 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [780526614] [2025-03-17 20:00:51,823 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:00:51,823 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:51,828 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 47 statements into 7 equivalence classes. [2025-03-17 20:00:51,849 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) and asserted 47 of 47 statements. [2025-03-17 20:00:51,849 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2025-03-17 20:00:51,849 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:52,373 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 24 proven. 49 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2025-03-17 20:00:52,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:52,374 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [780526614] [2025-03-17 20:00:52,374 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [780526614] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:52,374 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1339363847] [2025-03-17 20:00:52,374 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:00:52,374 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:52,374 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:52,376 INFO L229 MonitoredProcess]: Starting monitored process 89 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:52,378 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (89)] Waiting until timeout for monitored process [2025-03-17 20:00:52,441 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 47 statements into 7 equivalence classes. [2025-03-17 20:00:52,505 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) and asserted 47 of 47 statements. [2025-03-17 20:00:52,505 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2025-03-17 20:00:52,506 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:52,507 INFO L256 TraceCheckSpWp]: Trace formula consists of 235 conjuncts, 16 conjuncts are in the unsatisfiable core [2025-03-17 20:00:52,508 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:52,786 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 21 proven. 58 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2025-03-17 20:00:52,787 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:53,046 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 21 proven. 58 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2025-03-17 20:00:53,047 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1339363847] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:53,047 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:53,047 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17, 17] total 39 [2025-03-17 20:00:53,048 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1391765712] [2025-03-17 20:00:53,048 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:53,048 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:53,048 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:53,048 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 5 times [2025-03-17 20:00:53,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:53,048 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [894885283] [2025-03-17 20:00:53,048 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:00:53,048 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:53,050 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:53,052 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:53,052 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:00:53,052 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:53,052 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:53,052 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:53,053 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:53,053 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:53,053 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:53,055 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:53,123 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:53,123 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2025-03-17 20:00:53,123 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=235, Invalid=1247, Unknown=0, NotChecked=0, Total=1482 [2025-03-17 20:00:53,124 INFO L87 Difference]: Start difference. First operand 72 states and 82 transitions. cyclomatic complexity: 18 Second operand has 39 states, 39 states have (on average 2.1538461538461537) internal successors, (84), 39 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:53,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:53,876 INFO L93 Difference]: Finished difference Result 163 states and 185 transitions. [2025-03-17 20:00:53,876 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 163 states and 185 transitions. [2025-03-17 20:00:53,877 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:53,877 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 163 states to 158 states and 179 transitions. [2025-03-17 20:00:53,877 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 88 [2025-03-17 20:00:53,877 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 88 [2025-03-17 20:00:53,877 INFO L73 IsDeterministic]: Start isDeterministic. Operand 158 states and 179 transitions. [2025-03-17 20:00:53,877 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:53,877 INFO L218 hiAutomatonCegarLoop]: Abstraction has 158 states and 179 transitions. [2025-03-17 20:00:53,877 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states and 179 transitions. [2025-03-17 20:00:53,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 77. [2025-03-17 20:00:53,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 77 states have (on average 1.12987012987013) internal successors, (87), 76 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:53,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 87 transitions. [2025-03-17 20:00:53,879 INFO L240 hiAutomatonCegarLoop]: Abstraction has 77 states and 87 transitions. [2025-03-17 20:00:53,880 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2025-03-17 20:00:53,881 INFO L432 stractBuchiCegarLoop]: Abstraction has 77 states and 87 transitions. [2025-03-17 20:00:53,881 INFO L338 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2025-03-17 20:00:53,881 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 77 states and 87 transitions. [2025-03-17 20:00:53,882 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:53,882 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:53,882 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:53,882 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 7, 7, 6, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:53,882 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:53,882 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:53,882 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:53,883 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:53,883 INFO L85 PathProgramCache]: Analyzing trace with hash -507817411, now seen corresponding path program 7 times [2025-03-17 20:00:53,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:53,883 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1844221790] [2025-03-17 20:00:53,883 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:00:53,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:53,890 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 53 statements into 1 equivalence classes. [2025-03-17 20:00:53,903 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 53 of 53 statements. [2025-03-17 20:00:53,903 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:53,903 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-03-17 20:00:53,904 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [420576568] [2025-03-17 20:00:53,904 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:00:53,904 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:53,904 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:53,906 INFO L229 MonitoredProcess]: Starting monitored process 90 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:53,907 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (90)] Waiting until timeout for monitored process [2025-03-17 20:00:53,964 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 53 statements into 1 equivalence classes. [2025-03-17 20:00:53,995 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 53 of 53 statements. [2025-03-17 20:00:53,995 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:53,995 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:53,995 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:54,004 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 53 statements into 1 equivalence classes. [2025-03-17 20:00:54,025 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 53 of 53 statements. [2025-03-17 20:00:54,025 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:54,025 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:54,038 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:54,038 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:54,039 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 6 times [2025-03-17 20:00:54,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:54,039 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [443174104] [2025-03-17 20:00:54,039 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:00:54,039 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:54,041 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:54,041 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:54,041 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-17 20:00:54,041 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:54,042 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:54,042 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:54,042 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:54,042 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:54,043 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:54,044 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:54,044 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:54,044 INFO L85 PathProgramCache]: Analyzing trace with hash -1513649793, now seen corresponding path program 8 times [2025-03-17 20:00:54,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:54,044 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [966260828] [2025-03-17 20:00:54,044 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:54,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:54,050 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 56 statements into 2 equivalence classes. [2025-03-17 20:00:54,057 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 56 of 56 statements. [2025-03-17 20:00:54,057 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:54,057 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:54,296 INFO L134 CoverageAnalysis]: Checked inductivity of 168 backedges. 51 proven. 47 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-03-17 20:00:54,297 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:54,297 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [966260828] [2025-03-17 20:00:54,297 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [966260828] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:54,297 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [846973395] [2025-03-17 20:00:54,297 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:54,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:54,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:54,303 INFO L229 MonitoredProcess]: Starting monitored process 91 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:54,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (91)] Waiting until timeout for monitored process [2025-03-17 20:00:54,367 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 56 statements into 2 equivalence classes. [2025-03-17 20:00:54,392 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 56 of 56 statements. [2025-03-17 20:00:54,393 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:00:54,393 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:54,394 INFO L256 TraceCheckSpWp]: Trace formula consists of 271 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-03-17 20:00:54,395 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:54,595 INFO L134 CoverageAnalysis]: Checked inductivity of 168 backedges. 70 proven. 28 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-03-17 20:00:54,595 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:54,749 INFO L134 CoverageAnalysis]: Checked inductivity of 168 backedges. 70 proven. 28 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-03-17 20:00:54,749 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [846973395] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:54,749 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:54,749 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18, 18] total 28 [2025-03-17 20:00:54,749 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2043928439] [2025-03-17 20:00:54,749 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:54,799 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:54,799 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2025-03-17 20:00:54,800 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=194, Invalid=618, Unknown=0, NotChecked=0, Total=812 [2025-03-17 20:00:54,800 INFO L87 Difference]: Start difference. First operand 77 states and 87 transitions. cyclomatic complexity: 18 Second operand has 29 states, 28 states have (on average 2.4285714285714284) internal successors, (68), 29 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:55,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:55,031 INFO L93 Difference]: Finished difference Result 152 states and 166 transitions. [2025-03-17 20:00:55,032 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 152 states and 166 transitions. [2025-03-17 20:00:55,032 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:55,033 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 152 states to 78 states and 88 transitions. [2025-03-17 20:00:55,033 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2025-03-17 20:00:55,033 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2025-03-17 20:00:55,033 INFO L73 IsDeterministic]: Start isDeterministic. Operand 78 states and 88 transitions. [2025-03-17 20:00:55,033 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:55,033 INFO L218 hiAutomatonCegarLoop]: Abstraction has 78 states and 88 transitions. [2025-03-17 20:00:55,033 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states and 88 transitions. [2025-03-17 20:00:55,034 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 78. [2025-03-17 20:00:55,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 78 states have (on average 1.1282051282051282) internal successors, (88), 77 states have internal predecessors, (88), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:55,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 88 transitions. [2025-03-17 20:00:55,034 INFO L240 hiAutomatonCegarLoop]: Abstraction has 78 states and 88 transitions. [2025-03-17 20:00:55,035 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2025-03-17 20:00:55,035 INFO L432 stractBuchiCegarLoop]: Abstraction has 78 states and 88 transitions. [2025-03-17 20:00:55,035 INFO L338 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2025-03-17 20:00:55,035 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 78 states and 88 transitions. [2025-03-17 20:00:55,036 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:55,036 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:55,036 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:55,036 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 7, 7, 7, 6, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:55,036 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:55,036 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:55,036 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:55,037 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:55,037 INFO L85 PathProgramCache]: Analyzing trace with hash 189034547, now seen corresponding path program 9 times [2025-03-17 20:00:55,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:55,037 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [361407695] [2025-03-17 20:00:55,037 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:55,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:55,046 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 54 statements into 8 equivalence classes. [2025-03-17 20:00:55,083 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) and asserted 51 of 54 statements. [2025-03-17 20:00:55,084 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2025-03-17 20:00:55,084 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:55,435 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 2 proven. 76 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2025-03-17 20:00:55,435 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:55,435 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [361407695] [2025-03-17 20:00:55,435 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [361407695] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:55,435 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [962912834] [2025-03-17 20:00:55,435 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:55,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:55,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:55,438 INFO L229 MonitoredProcess]: Starting monitored process 92 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:55,439 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (92)] Waiting until timeout for monitored process [2025-03-17 20:00:55,502 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 54 statements into 8 equivalence classes. [2025-03-17 20:00:55,611 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) and asserted 51 of 54 statements. [2025-03-17 20:00:55,611 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2025-03-17 20:00:55,611 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:55,614 INFO L256 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 16 conjuncts are in the unsatisfiable core [2025-03-17 20:00:55,615 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:55,844 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 51 proven. 34 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2025-03-17 20:00:55,844 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:56,290 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 59 proven. 26 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2025-03-17 20:00:56,291 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [962912834] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:56,291 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:56,291 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 16, 16] total 42 [2025-03-17 20:00:56,291 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1006121309] [2025-03-17 20:00:56,291 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:56,291 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:56,291 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:56,291 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 7 times [2025-03-17 20:00:56,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:56,291 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [630239890] [2025-03-17 20:00:56,291 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:00:56,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:56,293 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:56,294 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:56,294 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:56,294 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:56,294 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:56,299 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:56,300 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:56,300 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:56,300 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:56,301 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:56,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:56,350 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2025-03-17 20:00:56,350 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=311, Invalid=1411, Unknown=0, NotChecked=0, Total=1722 [2025-03-17 20:00:56,350 INFO L87 Difference]: Start difference. First operand 78 states and 88 transitions. cyclomatic complexity: 18 Second operand has 42 states, 42 states have (on average 2.1666666666666665) internal successors, (91), 42 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:56,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:56,856 INFO L93 Difference]: Finished difference Result 170 states and 190 transitions. [2025-03-17 20:00:56,856 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 170 states and 190 transitions. [2025-03-17 20:00:56,857 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 18 [2025-03-17 20:00:56,857 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 170 states to 170 states and 190 transitions. [2025-03-17 20:00:56,857 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 85 [2025-03-17 20:00:56,857 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 85 [2025-03-17 20:00:56,857 INFO L73 IsDeterministic]: Start isDeterministic. Operand 170 states and 190 transitions. [2025-03-17 20:00:56,857 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:56,858 INFO L218 hiAutomatonCegarLoop]: Abstraction has 170 states and 190 transitions. [2025-03-17 20:00:56,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 170 states and 190 transitions. [2025-03-17 20:00:56,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 170 to 87. [2025-03-17 20:00:56,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 87 states have (on average 1.1149425287356323) internal successors, (97), 86 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:56,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 97 transitions. [2025-03-17 20:00:56,859 INFO L240 hiAutomatonCegarLoop]: Abstraction has 87 states and 97 transitions. [2025-03-17 20:00:56,859 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2025-03-17 20:00:56,860 INFO L432 stractBuchiCegarLoop]: Abstraction has 87 states and 97 transitions. [2025-03-17 20:00:56,860 INFO L338 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2025-03-17 20:00:56,860 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 87 states and 97 transitions. [2025-03-17 20:00:56,860 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:56,860 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:56,860 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:56,860 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 8, 8, 7, 5, 5, 3, 2, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:56,861 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:56,861 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:56,861 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:56,861 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:56,861 INFO L85 PathProgramCache]: Analyzing trace with hash 319848477, now seen corresponding path program 10 times [2025-03-17 20:00:56,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:56,861 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [694516115] [2025-03-17 20:00:56,861 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:00:56,861 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:56,868 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 60 statements into 2 equivalence classes. [2025-03-17 20:00:56,881 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 60 of 60 statements. [2025-03-17 20:00:56,882 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:00:56,882 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-03-17 20:00:56,883 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1934224374] [2025-03-17 20:00:56,883 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:00:56,883 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:56,883 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:56,885 INFO L229 MonitoredProcess]: Starting monitored process 93 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:56,886 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (93)] Waiting until timeout for monitored process [2025-03-17 20:00:56,952 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 60 statements into 2 equivalence classes. [2025-03-17 20:00:57,011 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 60 of 60 statements. [2025-03-17 20:00:57,011 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:00:57,011 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:57,011 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:57,022 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 60 statements into 1 equivalence classes. [2025-03-17 20:00:57,044 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 60 of 60 statements. [2025-03-17 20:00:57,044 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:57,044 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:57,058 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:57,058 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:57,058 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 8 times [2025-03-17 20:00:57,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:57,058 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1426734663] [2025-03-17 20:00:57,058 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:00:57,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:57,060 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:57,061 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:57,061 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:00:57,061 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:57,061 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:57,062 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:57,062 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:57,062 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:57,062 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:57,064 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:57,064 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:57,064 INFO L85 PathProgramCache]: Analyzing trace with hash -1926426721, now seen corresponding path program 11 times [2025-03-17 20:00:57,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:57,064 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1118428086] [2025-03-17 20:00:57,064 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:00:57,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:57,071 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 63 statements into 9 equivalence classes. [2025-03-17 20:00:57,082 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) and asserted 63 of 63 statements. [2025-03-17 20:00:57,082 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2025-03-17 20:00:57,082 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:57,286 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 58 proven. 65 refuted. 0 times theorem prover too weak. 97 trivial. 0 not checked. [2025-03-17 20:00:57,286 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:57,286 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1118428086] [2025-03-17 20:00:57,286 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1118428086] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:57,287 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2123250217] [2025-03-17 20:00:57,287 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:00:57,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:57,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:57,290 INFO L229 MonitoredProcess]: Starting monitored process 94 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:57,291 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (94)] Waiting until timeout for monitored process [2025-03-17 20:00:57,371 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 63 statements into 9 equivalence classes. [2025-03-17 20:00:57,419 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) and asserted 63 of 63 statements. [2025-03-17 20:00:57,419 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2025-03-17 20:00:57,419 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:57,421 INFO L256 TraceCheckSpWp]: Trace formula consists of 290 conjuncts, 20 conjuncts are in the unsatisfiable core [2025-03-17 20:00:57,422 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:57,707 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 92 proven. 92 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2025-03-17 20:00:57,707 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:57,925 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 92 proven. 92 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2025-03-17 20:00:57,925 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2123250217] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:57,925 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:57,925 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 20, 20] total 35 [2025-03-17 20:00:57,925 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1182426126] [2025-03-17 20:00:57,925 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:57,978 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:57,979 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2025-03-17 20:00:57,979 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=270, Invalid=990, Unknown=0, NotChecked=0, Total=1260 [2025-03-17 20:00:57,979 INFO L87 Difference]: Start difference. First operand 87 states and 97 transitions. cyclomatic complexity: 18 Second operand has 36 states, 35 states have (on average 2.9714285714285715) internal successors, (104), 36 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:58,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:00:58,961 INFO L93 Difference]: Finished difference Result 376 states and 420 transitions. [2025-03-17 20:00:58,961 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 376 states and 420 transitions. [2025-03-17 20:00:58,963 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:58,964 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 376 states to 257 states and 284 transitions. [2025-03-17 20:00:58,964 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 137 [2025-03-17 20:00:58,964 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 180 [2025-03-17 20:00:58,964 INFO L73 IsDeterministic]: Start isDeterministic. Operand 257 states and 284 transitions. [2025-03-17 20:00:58,964 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:00:58,964 INFO L218 hiAutomatonCegarLoop]: Abstraction has 257 states and 284 transitions. [2025-03-17 20:00:58,964 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states and 284 transitions. [2025-03-17 20:00:58,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 209. [2025-03-17 20:00:58,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 209 states, 209 states have (on average 1.1148325358851674) internal successors, (233), 208 states have internal predecessors, (233), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:00:58,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 209 states to 209 states and 233 transitions. [2025-03-17 20:00:58,967 INFO L240 hiAutomatonCegarLoop]: Abstraction has 209 states and 233 transitions. [2025-03-17 20:00:58,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 58 states. [2025-03-17 20:00:58,967 INFO L432 stractBuchiCegarLoop]: Abstraction has 209 states and 233 transitions. [2025-03-17 20:00:58,967 INFO L338 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2025-03-17 20:00:58,967 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 209 states and 233 transitions. [2025-03-17 20:00:58,968 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:00:58,968 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:00:58,968 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:00:58,969 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 12, 9, 9, 9, 8, 5, 4, 3, 1, 1, 1, 1, 1, 1] [2025-03-17 20:00:58,969 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:00:58,969 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:58,969 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:00:58,969 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:58,969 INFO L85 PathProgramCache]: Analyzing trace with hash -1114445263, now seen corresponding path program 12 times [2025-03-17 20:00:58,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:58,969 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1227506074] [2025-03-17 20:00:58,969 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:00:58,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:58,977 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 78 statements into 13 equivalence classes. [2025-03-17 20:00:59,008 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) and asserted 54 of 78 statements. [2025-03-17 20:00:59,008 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2025-03-17 20:00:59,009 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:59,228 INFO L134 CoverageAnalysis]: Checked inductivity of 363 backedges. 7 proven. 113 refuted. 0 times theorem prover too weak. 243 trivial. 0 not checked. [2025-03-17 20:00:59,228 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:00:59,228 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1227506074] [2025-03-17 20:00:59,228 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1227506074] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:00:59,228 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1277583815] [2025-03-17 20:00:59,228 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:00:59,228 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:00:59,228 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:00:59,234 INFO L229 MonitoredProcess]: Starting monitored process 95 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:00:59,235 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (95)] Waiting until timeout for monitored process [2025-03-17 20:00:59,307 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 78 statements into 13 equivalence classes. [2025-03-17 20:00:59,363 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) and asserted 54 of 78 statements. [2025-03-17 20:00:59,363 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2025-03-17 20:00:59,363 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:00:59,367 INFO L256 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 16 conjuncts are in the unsatisfiable core [2025-03-17 20:00:59,368 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:00:59,675 INFO L134 CoverageAnalysis]: Checked inductivity of 363 backedges. 84 proven. 36 refuted. 0 times theorem prover too weak. 243 trivial. 0 not checked. [2025-03-17 20:00:59,676 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:00:59,914 INFO L134 CoverageAnalysis]: Checked inductivity of 363 backedges. 7 proven. 113 refuted. 0 times theorem prover too weak. 243 trivial. 0 not checked. [2025-03-17 20:00:59,914 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1277583815] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:00:59,914 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:00:59,914 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15, 15] total 41 [2025-03-17 20:00:59,914 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [107710774] [2025-03-17 20:00:59,914 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:00:59,914 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:00:59,914 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:00:59,914 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 9 times [2025-03-17 20:00:59,914 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:00:59,914 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2034034789] [2025-03-17 20:00:59,915 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:00:59,915 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:00:59,916 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:59,917 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:59,917 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 20:00:59,917 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:59,917 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:00:59,917 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:00:59,918 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:00:59,918 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:00:59,918 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:00:59,919 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:00:59,959 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:00:59,960 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2025-03-17 20:00:59,960 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=432, Invalid=1290, Unknown=0, NotChecked=0, Total=1722 [2025-03-17 20:00:59,960 INFO L87 Difference]: Start difference. First operand 209 states and 233 transitions. cyclomatic complexity: 32 Second operand has 42 states, 41 states have (on average 1.853658536585366) internal successors, (76), 42 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:00,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:00,086 INFO L93 Difference]: Finished difference Result 279 states and 304 transitions. [2025-03-17 20:01:00,086 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 279 states and 304 transitions. [2025-03-17 20:01:00,087 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:00,088 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 279 states to 210 states and 234 transitions. [2025-03-17 20:01:00,088 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 138 [2025-03-17 20:01:00,088 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 138 [2025-03-17 20:01:00,088 INFO L73 IsDeterministic]: Start isDeterministic. Operand 210 states and 234 transitions. [2025-03-17 20:01:00,088 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:00,088 INFO L218 hiAutomatonCegarLoop]: Abstraction has 210 states and 234 transitions. [2025-03-17 20:01:00,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states and 234 transitions. [2025-03-17 20:01:00,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 210. [2025-03-17 20:01:00,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 210 states have (on average 1.1142857142857143) internal successors, (234), 209 states have internal predecessors, (234), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:00,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 234 transitions. [2025-03-17 20:01:00,090 INFO L240 hiAutomatonCegarLoop]: Abstraction has 210 states and 234 transitions. [2025-03-17 20:01:00,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2025-03-17 20:01:00,092 INFO L432 stractBuchiCegarLoop]: Abstraction has 210 states and 234 transitions. [2025-03-17 20:01:00,092 INFO L338 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2025-03-17 20:01:00,092 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 210 states and 234 transitions. [2025-03-17 20:01:00,093 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:00,093 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:00,093 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:00,093 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 12, 9, 9, 9, 9, 5, 4, 3, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:00,094 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:00,094 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:00,094 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:00,095 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:00,095 INFO L85 PathProgramCache]: Analyzing trace with hash -1788195589, now seen corresponding path program 13 times [2025-03-17 20:01:00,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:00,095 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307157604] [2025-03-17 20:01:00,095 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:01:00,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:00,102 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 79 statements into 1 equivalence classes. [2025-03-17 20:01:00,110 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 79 of 79 statements. [2025-03-17 20:01:00,111 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:00,111 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:00,570 INFO L134 CoverageAnalysis]: Checked inductivity of 372 backedges. 172 proven. 125 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2025-03-17 20:01:00,570 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:00,570 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1307157604] [2025-03-17 20:01:00,570 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1307157604] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:00,570 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [832498494] [2025-03-17 20:01:00,570 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:01:00,571 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:00,571 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:00,573 INFO L229 MonitoredProcess]: Starting monitored process 96 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:00,573 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (96)] Waiting until timeout for monitored process [2025-03-17 20:01:00,642 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 79 statements into 1 equivalence classes. [2025-03-17 20:01:00,665 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 79 of 79 statements. [2025-03-17 20:01:00,666 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:00,666 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:00,666 INFO L256 TraceCheckSpWp]: Trace formula consists of 329 conjuncts, 14 conjuncts are in the unsatisfiable core [2025-03-17 20:01:00,667 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:00,931 INFO L134 CoverageAnalysis]: Checked inductivity of 372 backedges. 153 proven. 102 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2025-03-17 20:01:00,931 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:01,223 INFO L134 CoverageAnalysis]: Checked inductivity of 372 backedges. 153 proven. 102 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2025-03-17 20:01:01,223 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [832498494] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:01,223 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:01,223 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 15, 15] total 33 [2025-03-17 20:01:01,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [600051167] [2025-03-17 20:01:01,223 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:01,223 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:01,223 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:01,223 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 10 times [2025-03-17 20:01:01,223 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:01,224 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1699071362] [2025-03-17 20:01:01,224 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:01:01,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:01,225 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 3 statements into 2 equivalence classes. [2025-03-17 20:01:01,226 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:01,226 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:01:01,226 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:01,226 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:01,227 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:01,227 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:01,227 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:01,227 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:01,228 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:01,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:01,284 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2025-03-17 20:01:01,284 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=234, Invalid=822, Unknown=0, NotChecked=0, Total=1056 [2025-03-17 20:01:01,284 INFO L87 Difference]: Start difference. First operand 210 states and 234 transitions. cyclomatic complexity: 32 Second operand has 33 states, 33 states have (on average 3.0303030303030303) internal successors, (100), 33 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:01,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:01,802 INFO L93 Difference]: Finished difference Result 272 states and 299 transitions. [2025-03-17 20:01:01,802 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 272 states and 299 transitions. [2025-03-17 20:01:01,803 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:01,803 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 272 states to 206 states and 228 transitions. [2025-03-17 20:01:01,803 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 133 [2025-03-17 20:01:01,804 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 133 [2025-03-17 20:01:01,804 INFO L73 IsDeterministic]: Start isDeterministic. Operand 206 states and 228 transitions. [2025-03-17 20:01:01,804 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:01,804 INFO L218 hiAutomatonCegarLoop]: Abstraction has 206 states and 228 transitions. [2025-03-17 20:01:01,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states and 228 transitions. [2025-03-17 20:01:01,805 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 196. [2025-03-17 20:01:01,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 196 states have (on average 1.1122448979591837) internal successors, (218), 195 states have internal predecessors, (218), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:01,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 218 transitions. [2025-03-17 20:01:01,806 INFO L240 hiAutomatonCegarLoop]: Abstraction has 196 states and 218 transitions. [2025-03-17 20:01:01,806 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2025-03-17 20:01:01,806 INFO L432 stractBuchiCegarLoop]: Abstraction has 196 states and 218 transitions. [2025-03-17 20:01:01,806 INFO L338 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2025-03-17 20:01:01,806 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 196 states and 218 transitions. [2025-03-17 20:01:01,807 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:01,807 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:01,807 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:01,807 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 12, 10, 10, 9, 9, 6, 4, 3, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:01,807 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:01,807 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:01,808 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:01,808 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:01,808 INFO L85 PathProgramCache]: Analyzing trace with hash 1216433076, now seen corresponding path program 14 times [2025-03-17 20:01:01,808 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:01,808 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [860809661] [2025-03-17 20:01:01,808 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:01:01,808 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:01,816 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 82 statements into 2 equivalence classes. [2025-03-17 20:01:01,823 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 82 of 82 statements. [2025-03-17 20:01:01,823 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:01:01,823 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:02,159 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 120 proven. 70 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2025-03-17 20:01:02,159 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:02,159 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [860809661] [2025-03-17 20:01:02,159 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [860809661] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:02,159 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1093832170] [2025-03-17 20:01:02,159 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:01:02,159 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:02,159 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:02,161 INFO L229 MonitoredProcess]: Starting monitored process 97 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:02,162 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (97)] Waiting until timeout for monitored process [2025-03-17 20:01:02,231 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 82 statements into 2 equivalence classes. [2025-03-17 20:01:02,258 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 82 of 82 statements. [2025-03-17 20:01:02,258 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:01:02,258 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:02,260 INFO L256 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 22 conjuncts are in the unsatisfiable core [2025-03-17 20:01:02,261 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:02,445 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 145 proven. 45 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2025-03-17 20:01:02,445 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:02,586 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 145 proven. 45 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2025-03-17 20:01:02,586 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1093832170] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:02,586 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:02,586 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22, 22] total 34 [2025-03-17 20:01:02,586 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2061331774] [2025-03-17 20:01:02,586 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:02,586 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:02,586 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:02,586 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 11 times [2025-03-17 20:01:02,586 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:02,586 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [802546258] [2025-03-17 20:01:02,587 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:01:02,587 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:02,588 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:02,589 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:02,589 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:01:02,589 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:02,589 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:02,590 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:02,590 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:02,590 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:02,590 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:02,592 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:02,644 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:02,645 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2025-03-17 20:01:02,645 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=267, Invalid=855, Unknown=0, NotChecked=0, Total=1122 [2025-03-17 20:01:02,645 INFO L87 Difference]: Start difference. First operand 196 states and 218 transitions. cyclomatic complexity: 30 Second operand has 34 states, 34 states have (on average 2.4705882352941178) internal successors, (84), 34 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:02,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:02,730 INFO L93 Difference]: Finished difference Result 214 states and 236 transitions. [2025-03-17 20:01:02,731 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 214 states and 236 transitions. [2025-03-17 20:01:02,731 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:02,732 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 214 states to 197 states and 219 transitions. [2025-03-17 20:01:02,732 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 124 [2025-03-17 20:01:02,732 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 124 [2025-03-17 20:01:02,732 INFO L73 IsDeterministic]: Start isDeterministic. Operand 197 states and 219 transitions. [2025-03-17 20:01:02,732 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:02,732 INFO L218 hiAutomatonCegarLoop]: Abstraction has 197 states and 219 transitions. [2025-03-17 20:01:02,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states and 219 transitions. [2025-03-17 20:01:02,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 197. [2025-03-17 20:01:02,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 197 states, 197 states have (on average 1.1116751269035532) internal successors, (219), 196 states have internal predecessors, (219), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:02,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 197 states to 197 states and 219 transitions. [2025-03-17 20:01:02,734 INFO L240 hiAutomatonCegarLoop]: Abstraction has 197 states and 219 transitions. [2025-03-17 20:01:02,735 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2025-03-17 20:01:02,735 INFO L432 stractBuchiCegarLoop]: Abstraction has 197 states and 219 transitions. [2025-03-17 20:01:02,735 INFO L338 stractBuchiCegarLoop]: ======== Iteration 25 ============ [2025-03-17 20:01:02,735 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 197 states and 219 transitions. [2025-03-17 20:01:02,736 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:02,736 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:02,736 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:02,736 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 12, 10, 10, 10, 9, 6, 4, 3, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:02,736 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:02,736 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:02,737 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:02,737 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:02,737 INFO L85 PathProgramCache]: Analyzing trace with hash -856278658, now seen corresponding path program 15 times [2025-03-17 20:01:02,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:02,737 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1032838806] [2025-03-17 20:01:02,737 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:01:02,737 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:02,745 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 83 statements into 13 equivalence classes. [2025-03-17 20:01:02,773 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) and asserted 83 of 83 statements. [2025-03-17 20:01:02,777 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) [2025-03-17 20:01:02,777 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:03,538 INFO L134 CoverageAnalysis]: Checked inductivity of 410 backedges. 176 proven. 126 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2025-03-17 20:01:03,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:03,538 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1032838806] [2025-03-17 20:01:03,538 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1032838806] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:03,538 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [419300998] [2025-03-17 20:01:03,538 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:01:03,539 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:03,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:03,541 INFO L229 MonitoredProcess]: Starting monitored process 98 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:03,541 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (98)] Waiting until timeout for monitored process [2025-03-17 20:01:03,629 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 83 statements into 13 equivalence classes. [2025-03-17 20:01:03,797 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) and asserted 83 of 83 statements. [2025-03-17 20:01:03,797 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) [2025-03-17 20:01:03,797 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:03,799 INFO L256 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 26 conjuncts are in the unsatisfiable core [2025-03-17 20:01:03,800 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:04,388 INFO L134 CoverageAnalysis]: Checked inductivity of 410 backedges. 210 proven. 55 refuted. 0 times theorem prover too weak. 145 trivial. 0 not checked. [2025-03-17 20:01:04,388 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:04,840 INFO L134 CoverageAnalysis]: Checked inductivity of 410 backedges. 210 proven. 55 refuted. 0 times theorem prover too weak. 145 trivial. 0 not checked. [2025-03-17 20:01:04,840 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [419300998] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:04,840 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:04,841 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 26, 26] total 62 [2025-03-17 20:01:04,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [532969045] [2025-03-17 20:01:04,841 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:04,841 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:04,841 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:04,841 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 12 times [2025-03-17 20:01:04,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:04,841 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2011597085] [2025-03-17 20:01:04,841 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:01:04,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:04,843 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:04,844 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:04,844 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-17 20:01:04,844 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:04,844 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:04,844 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:04,845 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:04,845 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:04,845 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:04,846 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:04,885 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:04,885 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 63 interpolants. [2025-03-17 20:01:04,886 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=674, Invalid=3232, Unknown=0, NotChecked=0, Total=3906 [2025-03-17 20:01:04,886 INFO L87 Difference]: Start difference. First operand 197 states and 219 transitions. cyclomatic complexity: 30 Second operand has 63 states, 62 states have (on average 2.2580645161290325) internal successors, (140), 63 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:06,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:06,638 INFO L93 Difference]: Finished difference Result 609 states and 656 transitions. [2025-03-17 20:01:06,638 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 609 states and 656 transitions. [2025-03-17 20:01:06,640 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:06,641 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 609 states to 200 states and 222 transitions. [2025-03-17 20:01:06,641 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 124 [2025-03-17 20:01:06,641 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 124 [2025-03-17 20:01:06,641 INFO L73 IsDeterministic]: Start isDeterministic. Operand 200 states and 222 transitions. [2025-03-17 20:01:06,641 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:06,641 INFO L218 hiAutomatonCegarLoop]: Abstraction has 200 states and 222 transitions. [2025-03-17 20:01:06,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states and 222 transitions. [2025-03-17 20:01:06,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 200. [2025-03-17 20:01:06,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 200 states, 200 states have (on average 1.11) internal successors, (222), 199 states have internal predecessors, (222), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:06,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 222 transitions. [2025-03-17 20:01:06,643 INFO L240 hiAutomatonCegarLoop]: Abstraction has 200 states and 222 transitions. [2025-03-17 20:01:06,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2025-03-17 20:01:06,645 INFO L432 stractBuchiCegarLoop]: Abstraction has 200 states and 222 transitions. [2025-03-17 20:01:06,645 INFO L338 stractBuchiCegarLoop]: ======== Iteration 26 ============ [2025-03-17 20:01:06,645 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 200 states and 222 transitions. [2025-03-17 20:01:06,646 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:06,646 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:06,646 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:06,646 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 13, 12, 10, 10, 9, 6, 4, 3, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:06,646 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:06,646 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:06,646 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:06,647 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:06,647 INFO L85 PathProgramCache]: Analyzing trace with hash 892562996, now seen corresponding path program 16 times [2025-03-17 20:01:06,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:06,647 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [100280566] [2025-03-17 20:01:06,647 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:01:06,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:06,656 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 86 statements into 2 equivalence classes. [2025-03-17 20:01:06,665 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 83 of 86 statements. [2025-03-17 20:01:06,666 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-17 20:01:06,666 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:07,037 INFO L134 CoverageAnalysis]: Checked inductivity of 446 backedges. 210 proven. 145 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2025-03-17 20:01:07,037 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:07,037 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [100280566] [2025-03-17 20:01:07,037 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [100280566] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:07,037 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [342137267] [2025-03-17 20:01:07,037 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:01:07,037 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:07,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:07,040 INFO L229 MonitoredProcess]: Starting monitored process 99 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:07,042 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (99)] Waiting until timeout for monitored process [2025-03-17 20:01:07,130 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 86 statements into 2 equivalence classes. [2025-03-17 20:01:07,165 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 83 of 86 statements. [2025-03-17 20:01:07,166 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-17 20:01:07,166 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:07,168 INFO L256 TraceCheckSpWp]: Trace formula consists of 336 conjuncts, 16 conjuncts are in the unsatisfiable core [2025-03-17 20:01:07,169 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:07,384 INFO L134 CoverageAnalysis]: Checked inductivity of 446 backedges. 170 proven. 130 refuted. 0 times theorem prover too weak. 146 trivial. 0 not checked. [2025-03-17 20:01:07,384 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:07,813 INFO L134 CoverageAnalysis]: Checked inductivity of 446 backedges. 170 proven. 130 refuted. 0 times theorem prover too weak. 146 trivial. 0 not checked. [2025-03-17 20:01:07,813 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [342137267] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:07,813 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:07,813 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 17, 17] total 42 [2025-03-17 20:01:07,813 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [830958139] [2025-03-17 20:01:07,813 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:07,813 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:07,814 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:07,814 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 13 times [2025-03-17 20:01:07,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:07,814 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [27186361] [2025-03-17 20:01:07,814 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:01:07,814 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:07,816 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:07,817 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:07,817 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:07,817 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:07,817 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:07,818 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:07,818 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:07,818 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:07,819 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:07,820 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:07,875 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:07,875 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2025-03-17 20:01:07,876 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=313, Invalid=1409, Unknown=0, NotChecked=0, Total=1722 [2025-03-17 20:01:07,876 INFO L87 Difference]: Start difference. First operand 200 states and 222 transitions. cyclomatic complexity: 30 Second operand has 42 states, 42 states have (on average 3.0) internal successors, (126), 42 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) [2025-03-17 20:01:09,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:09,117 INFO L93 Difference]: Finished difference Result 468 states and 515 transitions. [2025-03-17 20:01:09,117 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 468 states and 515 transitions. [2025-03-17 20:01:09,118 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:09,119 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 468 states to 290 states and 325 transitions. [2025-03-17 20:01:09,119 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 172 [2025-03-17 20:01:09,119 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 200 [2025-03-17 20:01:09,119 INFO L73 IsDeterministic]: Start isDeterministic. Operand 290 states and 325 transitions. [2025-03-17 20:01:09,119 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:09,119 INFO L218 hiAutomatonCegarLoop]: Abstraction has 290 states and 325 transitions. [2025-03-17 20:01:09,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 290 states and 325 transitions. [2025-03-17 20:01:09,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 290 to 244. [2025-03-17 20:01:09,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 244 states, 244 states have (on average 1.1147540983606556) internal successors, (272), 243 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) [2025-03-17 20:01:09,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 244 states to 244 states and 272 transitions. [2025-03-17 20:01:09,123 INFO L240 hiAutomatonCegarLoop]: Abstraction has 244 states and 272 transitions. [2025-03-17 20:01:09,124 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 64 states. [2025-03-17 20:01:09,125 INFO L432 stractBuchiCegarLoop]: Abstraction has 244 states and 272 transitions. [2025-03-17 20:01:09,125 INFO L338 stractBuchiCegarLoop]: ======== Iteration 27 ============ [2025-03-17 20:01:09,125 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 244 states and 272 transitions. [2025-03-17 20:01:09,125 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:09,125 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:09,125 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:09,126 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [15, 14, 13, 11, 11, 11, 7, 4, 3, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:09,126 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:09,126 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:09,128 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:09,128 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:09,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1155134907, now seen corresponding path program 17 times [2025-03-17 20:01:09,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:09,128 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [151460879] [2025-03-17 20:01:09,128 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:01:09,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:09,137 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 95 statements into 15 equivalence classes. [2025-03-17 20:01:09,154 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) and asserted 95 of 95 statements. [2025-03-17 20:01:09,154 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2025-03-17 20:01:09,154 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:09,640 INFO L134 CoverageAnalysis]: Checked inductivity of 554 backedges. 188 proven. 245 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2025-03-17 20:01:09,641 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:09,641 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [151460879] [2025-03-17 20:01:09,641 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [151460879] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:09,641 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1831501061] [2025-03-17 20:01:09,641 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:01:09,641 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:09,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:09,643 INFO L229 MonitoredProcess]: Starting monitored process 100 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:09,643 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (100)] Waiting until timeout for monitored process [2025-03-17 20:01:09,723 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 95 statements into 15 equivalence classes. [2025-03-17 20:01:09,791 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) and asserted 95 of 95 statements. [2025-03-17 20:01:09,791 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2025-03-17 20:01:09,791 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:09,794 INFO L256 TraceCheckSpWp]: Trace formula consists of 389 conjuncts, 21 conjuncts are in the unsatisfiable core [2025-03-17 20:01:09,795 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:10,109 INFO L134 CoverageAnalysis]: Checked inductivity of 554 backedges. 272 proven. 161 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2025-03-17 20:01:10,109 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:10,647 INFO L134 CoverageAnalysis]: Checked inductivity of 554 backedges. 272 proven. 161 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2025-03-17 20:01:10,647 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1831501061] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:10,647 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:10,647 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 22, 22] total 48 [2025-03-17 20:01:10,647 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821752938] [2025-03-17 20:01:10,647 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:10,647 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:10,647 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:10,647 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 14 times [2025-03-17 20:01:10,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:10,648 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1382622376] [2025-03-17 20:01:10,648 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:01:10,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:10,649 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:10,650 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:10,650 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:01:10,650 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:10,650 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:10,651 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:10,651 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:10,651 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:10,651 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:10,653 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:10,740 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:10,740 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2025-03-17 20:01:10,741 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=468, Invalid=1788, Unknown=0, NotChecked=0, Total=2256 [2025-03-17 20:01:10,741 INFO L87 Difference]: Start difference. First operand 244 states and 272 transitions. cyclomatic complexity: 36 Second operand has 48 states, 48 states have (on average 3.1666666666666665) internal successors, (152), 48 states have internal predecessors, (152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:12,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:12,636 INFO L93 Difference]: Finished difference Result 421 states and 463 transitions. [2025-03-17 20:01:12,636 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 421 states and 463 transitions. [2025-03-17 20:01:12,638 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:12,639 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 421 states to 163 states and 173 transitions. [2025-03-17 20:01:12,639 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 72 [2025-03-17 20:01:12,639 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 72 [2025-03-17 20:01:12,639 INFO L73 IsDeterministic]: Start isDeterministic. Operand 163 states and 173 transitions. [2025-03-17 20:01:12,639 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:12,639 INFO L218 hiAutomatonCegarLoop]: Abstraction has 163 states and 173 transitions. [2025-03-17 20:01:12,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states and 173 transitions. [2025-03-17 20:01:12,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 152. [2025-03-17 20:01:12,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 152 states, 152 states have (on average 1.0657894736842106) internal successors, (162), 151 states have internal predecessors, (162), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:12,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 162 transitions. [2025-03-17 20:01:12,642 INFO L240 hiAutomatonCegarLoop]: Abstraction has 152 states and 162 transitions. [2025-03-17 20:01:12,644 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 85 states. [2025-03-17 20:01:12,645 INFO L432 stractBuchiCegarLoop]: Abstraction has 152 states and 162 transitions. [2025-03-17 20:01:12,645 INFO L338 stractBuchiCegarLoop]: ======== Iteration 28 ============ [2025-03-17 20:01:12,645 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 152 states and 162 transitions. [2025-03-17 20:01:12,646 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:12,646 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:12,646 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:12,646 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [15, 15, 15, 14, 13, 11, 11, 4, 3, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:12,646 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:12,646 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:12,647 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:12,647 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:12,647 INFO L85 PathProgramCache]: Analyzing trace with hash 2094907515, now seen corresponding path program 18 times [2025-03-17 20:01:12,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:12,647 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [553292715] [2025-03-17 20:01:12,647 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:01:12,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:12,657 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 107 statements into 16 equivalence classes. [2025-03-17 20:01:12,703 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 15 check-sat command(s) and asserted 101 of 107 statements. [2025-03-17 20:01:12,703 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 15 check-sat command(s) [2025-03-17 20:01:12,703 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:14,824 INFO L134 CoverageAnalysis]: Checked inductivity of 708 backedges. 54 proven. 421 refuted. 0 times theorem prover too weak. 233 trivial. 0 not checked. [2025-03-17 20:01:14,824 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:14,824 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [553292715] [2025-03-17 20:01:14,824 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [553292715] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:14,824 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2121928790] [2025-03-17 20:01:14,824 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:01:14,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:14,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:14,826 INFO L229 MonitoredProcess]: Starting monitored process 101 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:14,827 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (101)] Waiting until timeout for monitored process [2025-03-17 20:01:14,911 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 107 statements into 16 equivalence classes. [2025-03-17 20:01:15,386 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 15 check-sat command(s) and asserted 101 of 107 statements. [2025-03-17 20:01:15,386 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 15 check-sat command(s) [2025-03-17 20:01:15,386 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:15,389 INFO L256 TraceCheckSpWp]: Trace formula consists of 397 conjuncts, 31 conjuncts are in the unsatisfiable core [2025-03-17 20:01:15,391 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:15,996 INFO L134 CoverageAnalysis]: Checked inductivity of 708 backedges. 290 proven. 91 refuted. 0 times theorem prover too weak. 327 trivial. 0 not checked. [2025-03-17 20:01:15,997 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:17,009 INFO L134 CoverageAnalysis]: Checked inductivity of 708 backedges. 297 proven. 184 refuted. 0 times theorem prover too weak. 227 trivial. 0 not checked. [2025-03-17 20:01:17,009 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2121928790] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:17,009 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:17,010 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 26, 30] total 75 [2025-03-17 20:01:17,010 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2078756968] [2025-03-17 20:01:17,010 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:17,010 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:17,010 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:17,010 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 15 times [2025-03-17 20:01:17,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:17,010 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1437665250] [2025-03-17 20:01:17,010 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:01:17,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:17,012 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:17,013 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:17,013 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 20:01:17,013 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:17,013 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:17,014 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:17,014 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:17,014 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:17,014 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:17,016 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:17,064 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:17,065 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 75 interpolants. [2025-03-17 20:01:17,066 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=651, Invalid=4899, Unknown=0, NotChecked=0, Total=5550 [2025-03-17 20:01:17,066 INFO L87 Difference]: Start difference. First operand 152 states and 162 transitions. cyclomatic complexity: 18 Second operand has 75 states, 75 states have (on average 2.36) internal successors, (177), 75 states have internal predecessors, (177), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:23,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:23,180 INFO L93 Difference]: Finished difference Result 245 states and 258 transitions. [2025-03-17 20:01:23,180 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 245 states and 258 transitions. [2025-03-17 20:01:23,181 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:23,181 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 245 states to 165 states and 176 transitions. [2025-03-17 20:01:23,181 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 65 [2025-03-17 20:01:23,181 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 65 [2025-03-17 20:01:23,181 INFO L73 IsDeterministic]: Start isDeterministic. Operand 165 states and 176 transitions. [2025-03-17 20:01:23,181 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:23,182 INFO L218 hiAutomatonCegarLoop]: Abstraction has 165 states and 176 transitions. [2025-03-17 20:01:23,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states and 176 transitions. [2025-03-17 20:01:23,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 160. [2025-03-17 20:01:23,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 160 states have (on average 1.0625) internal successors, (170), 159 states have internal predecessors, (170), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:23,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 170 transitions. [2025-03-17 20:01:23,183 INFO L240 hiAutomatonCegarLoop]: Abstraction has 160 states and 170 transitions. [2025-03-17 20:01:23,184 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 118 states. [2025-03-17 20:01:23,185 INFO L432 stractBuchiCegarLoop]: Abstraction has 160 states and 170 transitions. [2025-03-17 20:01:23,185 INFO L338 stractBuchiCegarLoop]: ======== Iteration 29 ============ [2025-03-17 20:01:23,185 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 160 states and 170 transitions. [2025-03-17 20:01:23,185 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:23,185 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:23,185 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:23,186 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [18, 16, 16, 15, 14, 11, 11, 5, 3, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:23,186 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:23,186 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:23,186 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:23,187 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:23,187 INFO L85 PathProgramCache]: Analyzing trace with hash -1546291681, now seen corresponding path program 19 times [2025-03-17 20:01:23,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:23,187 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [703680746] [2025-03-17 20:01:23,187 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:01:23,187 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:23,198 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 115 statements into 1 equivalence classes. [2025-03-17 20:01:23,211 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 115 of 115 statements. [2025-03-17 20:01:23,212 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:23,212 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:23,814 INFO L134 CoverageAnalysis]: Checked inductivity of 834 backedges. 136 proven. 303 refuted. 0 times theorem prover too weak. 395 trivial. 0 not checked. [2025-03-17 20:01:23,814 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:23,815 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [703680746] [2025-03-17 20:01:23,815 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [703680746] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:23,815 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [452994855] [2025-03-17 20:01:23,815 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:01:23,815 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:23,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:23,817 INFO L229 MonitoredProcess]: Starting monitored process 102 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:23,818 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (102)] Waiting until timeout for monitored process [2025-03-17 20:01:23,915 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 115 statements into 1 equivalence classes. [2025-03-17 20:01:23,955 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 115 of 115 statements. [2025-03-17 20:01:23,956 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:23,956 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:23,958 INFO L256 TraceCheckSpWp]: Trace formula consists of 472 conjuncts, 37 conjuncts are in the unsatisfiable core [2025-03-17 20:01:23,959 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:24,539 INFO L134 CoverageAnalysis]: Checked inductivity of 834 backedges. 153 proven. 394 refuted. 0 times theorem prover too weak. 287 trivial. 0 not checked. [2025-03-17 20:01:24,539 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:25,060 INFO L134 CoverageAnalysis]: Checked inductivity of 834 backedges. 153 proven. 394 refuted. 0 times theorem prover too weak. 287 trivial. 0 not checked. [2025-03-17 20:01:25,060 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [452994855] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:25,060 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:25,060 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 38, 38] total 75 [2025-03-17 20:01:25,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1977620529] [2025-03-17 20:01:25,060 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:25,060 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:25,061 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:25,061 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 16 times [2025-03-17 20:01:25,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:25,061 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1875062965] [2025-03-17 20:01:25,061 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:01:25,061 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:25,064 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 3 statements into 2 equivalence classes. [2025-03-17 20:01:25,066 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:25,066 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:01:25,066 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:25,066 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:25,066 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:25,067 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:25,067 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:25,067 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:25,069 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:25,156 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:25,157 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 75 interpolants. [2025-03-17 20:01:25,158 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1119, Invalid=4431, Unknown=0, NotChecked=0, Total=5550 [2025-03-17 20:01:25,158 INFO L87 Difference]: Start difference. First operand 160 states and 170 transitions. cyclomatic complexity: 18 Second operand has 75 states, 75 states have (on average 2.0933333333333333) internal successors, (157), 75 states have internal predecessors, (157), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:26,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:26,115 INFO L93 Difference]: Finished difference Result 423 states and 453 transitions. [2025-03-17 20:01:26,115 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 423 states and 453 transitions. [2025-03-17 20:01:26,117 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:26,118 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 423 states to 413 states and 441 transitions. [2025-03-17 20:01:26,118 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 223 [2025-03-17 20:01:26,118 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 223 [2025-03-17 20:01:26,118 INFO L73 IsDeterministic]: Start isDeterministic. Operand 413 states and 441 transitions. [2025-03-17 20:01:26,118 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:26,118 INFO L218 hiAutomatonCegarLoop]: Abstraction has 413 states and 441 transitions. [2025-03-17 20:01:26,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 413 states and 441 transitions. [2025-03-17 20:01:26,120 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 413 to 181. [2025-03-17 20:01:26,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 181 states have (on average 1.0552486187845305) internal successors, (191), 180 states have internal predecessors, (191), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:26,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 191 transitions. [2025-03-17 20:01:26,121 INFO L240 hiAutomatonCegarLoop]: Abstraction has 181 states and 191 transitions. [2025-03-17 20:01:26,123 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 70 states. [2025-03-17 20:01:26,123 INFO L432 stractBuchiCegarLoop]: Abstraction has 181 states and 191 transitions. [2025-03-17 20:01:26,123 INFO L338 stractBuchiCegarLoop]: ======== Iteration 30 ============ [2025-03-17 20:01:26,123 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 181 states and 191 transitions. [2025-03-17 20:01:26,123 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:26,123 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:26,124 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:26,124 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [19, 19, 19, 18, 18, 11, 11, 8, 7, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:26,124 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:26,124 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:26,125 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:26,125 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:26,125 INFO L85 PathProgramCache]: Analyzing trace with hash -171289999, now seen corresponding path program 20 times [2025-03-17 20:01:26,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:26,125 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [647159618] [2025-03-17 20:01:26,125 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:01:26,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:26,136 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 136 statements into 2 equivalence classes. [2025-03-17 20:01:26,161 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 136 of 136 statements. [2025-03-17 20:01:26,161 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:01:26,161 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:27,239 INFO L134 CoverageAnalysis]: Checked inductivity of 1180 backedges. 480 proven. 223 refuted. 0 times theorem prover too weak. 477 trivial. 0 not checked. [2025-03-17 20:01:27,239 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:27,239 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [647159618] [2025-03-17 20:01:27,239 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [647159618] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:27,239 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1165099605] [2025-03-17 20:01:27,239 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:01:27,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:27,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:27,242 INFO L229 MonitoredProcess]: Starting monitored process 103 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:27,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (103)] Waiting until timeout for monitored process [2025-03-17 20:01:27,352 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 136 statements into 2 equivalence classes. [2025-03-17 20:01:27,401 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 136 of 136 statements. [2025-03-17 20:01:27,401 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:01:27,401 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:27,404 INFO L256 TraceCheckSpWp]: Trace formula consists of 556 conjuncts, 40 conjuncts are in the unsatisfiable core [2025-03-17 20:01:27,405 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:27,944 INFO L134 CoverageAnalysis]: Checked inductivity of 1180 backedges. 532 proven. 171 refuted. 0 times theorem prover too weak. 477 trivial. 0 not checked. [2025-03-17 20:01:27,944 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:28,359 INFO L134 CoverageAnalysis]: Checked inductivity of 1180 backedges. 532 proven. 171 refuted. 0 times theorem prover too weak. 477 trivial. 0 not checked. [2025-03-17 20:01:28,360 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1165099605] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:28,360 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:28,360 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [40, 40, 40] total 61 [2025-03-17 20:01:28,360 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1276932676] [2025-03-17 20:01:28,360 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:28,360 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:28,360 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:28,360 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 17 times [2025-03-17 20:01:28,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:28,360 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [430551352] [2025-03-17 20:01:28,360 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:01:28,360 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:28,362 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:28,363 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:28,363 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:01:28,363 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:28,363 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:28,363 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:28,364 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:28,364 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:28,364 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:28,365 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:28,416 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:28,416 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 61 interpolants. [2025-03-17 20:01:28,417 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=843, Invalid=2817, Unknown=0, NotChecked=0, Total=3660 [2025-03-17 20:01:28,417 INFO L87 Difference]: Start difference. First operand 181 states and 191 transitions. cyclomatic complexity: 18 Second operand has 61 states, 61 states have (on average 2.4098360655737703) internal successors, (147), 61 states have internal predecessors, (147), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:28,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:28,576 INFO L93 Difference]: Finished difference Result 214 states and 224 transitions. [2025-03-17 20:01:28,576 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 214 states and 224 transitions. [2025-03-17 20:01:28,576 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:28,577 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 214 states to 182 states and 192 transitions. [2025-03-17 20:01:28,577 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 76 [2025-03-17 20:01:28,577 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 76 [2025-03-17 20:01:28,577 INFO L73 IsDeterministic]: Start isDeterministic. Operand 182 states and 192 transitions. [2025-03-17 20:01:28,577 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:28,577 INFO L218 hiAutomatonCegarLoop]: Abstraction has 182 states and 192 transitions. [2025-03-17 20:01:28,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states and 192 transitions. [2025-03-17 20:01:28,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2025-03-17 20:01:28,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 182 states have (on average 1.054945054945055) internal successors, (192), 181 states have internal predecessors, (192), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:28,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 192 transitions. [2025-03-17 20:01:28,579 INFO L240 hiAutomatonCegarLoop]: Abstraction has 182 states and 192 transitions. [2025-03-17 20:01:28,581 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2025-03-17 20:01:28,581 INFO L432 stractBuchiCegarLoop]: Abstraction has 182 states and 192 transitions. [2025-03-17 20:01:28,581 INFO L338 stractBuchiCegarLoop]: ======== Iteration 31 ============ [2025-03-17 20:01:28,581 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 182 states and 192 transitions. [2025-03-17 20:01:28,581 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:28,581 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:28,581 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:28,582 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [19, 19, 19, 19, 18, 11, 11, 8, 7, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:28,582 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:28,582 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:28,582 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:28,583 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:28,583 INFO L85 PathProgramCache]: Analyzing trace with hash -893991749, now seen corresponding path program 21 times [2025-03-17 20:01:28,583 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:28,583 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [663531498] [2025-03-17 20:01:28,583 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:01:28,583 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:28,594 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 137 statements into 20 equivalence classes. [2025-03-17 20:01:28,669 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) and asserted 104 of 137 statements. [2025-03-17 20:01:28,669 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) [2025-03-17 20:01:28,669 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:29,647 INFO L134 CoverageAnalysis]: Checked inductivity of 1199 backedges. 20 proven. 599 refuted. 0 times theorem prover too weak. 580 trivial. 0 not checked. [2025-03-17 20:01:29,647 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:29,647 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [663531498] [2025-03-17 20:01:29,647 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [663531498] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:29,647 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1756354410] [2025-03-17 20:01:29,647 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:01:29,647 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:29,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:29,650 INFO L229 MonitoredProcess]: Starting monitored process 104 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:29,654 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (104)] Waiting until timeout for monitored process [2025-03-17 20:01:29,757 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 137 statements into 20 equivalence classes. [2025-03-17 20:01:31,762 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) and asserted 104 of 137 statements. [2025-03-17 20:01:31,762 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) [2025-03-17 20:01:31,762 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:31,769 INFO L256 TraceCheckSpWp]: Trace formula consists of 523 conjuncts, 32 conjuncts are in the unsatisfiable core [2025-03-17 20:01:31,770 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:32,537 INFO L134 CoverageAnalysis]: Checked inductivity of 1199 backedges. 448 proven. 119 refuted. 0 times theorem prover too weak. 632 trivial. 0 not checked. [2025-03-17 20:01:32,537 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:33,461 INFO L134 CoverageAnalysis]: Checked inductivity of 1199 backedges. 190 proven. 377 refuted. 0 times theorem prover too weak. 632 trivial. 0 not checked. [2025-03-17 20:01:33,462 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1756354410] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:33,462 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:33,462 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 32, 32] total 94 [2025-03-17 20:01:33,462 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [312306588] [2025-03-17 20:01:33,462 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:33,462 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:33,462 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:33,462 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 18 times [2025-03-17 20:01:33,462 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:33,462 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [77589026] [2025-03-17 20:01:33,462 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:01:33,462 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:33,465 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:33,465 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:33,465 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-17 20:01:33,465 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:33,466 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:33,466 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:33,466 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:33,466 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:33,466 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:33,468 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:33,512 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:33,513 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 94 interpolants. [2025-03-17 20:01:33,514 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1682, Invalid=7060, Unknown=0, NotChecked=0, Total=8742 [2025-03-17 20:01:33,515 INFO L87 Difference]: Start difference. First operand 182 states and 192 transitions. cyclomatic complexity: 18 Second operand has 94 states, 94 states have (on average 1.702127659574468) internal successors, (160), 94 states have internal predecessors, (160), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:34,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:34,318 INFO L93 Difference]: Finished difference Result 416 states and 437 transitions. [2025-03-17 20:01:34,318 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 416 states and 437 transitions. [2025-03-17 20:01:34,319 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 18 [2025-03-17 20:01:34,320 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 416 states to 412 states and 433 transitions. [2025-03-17 20:01:34,320 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 206 [2025-03-17 20:01:34,321 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 206 [2025-03-17 20:01:34,321 INFO L73 IsDeterministic]: Start isDeterministic. Operand 412 states and 433 transitions. [2025-03-17 20:01:34,321 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:34,321 INFO L218 hiAutomatonCegarLoop]: Abstraction has 412 states and 433 transitions. [2025-03-17 20:01:34,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 412 states and 433 transitions. [2025-03-17 20:01:34,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 412 to 188. [2025-03-17 20:01:34,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 188 states, 188 states have (on average 1.053191489361702) internal successors, (198), 187 states have internal predecessors, (198), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:34,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 198 transitions. [2025-03-17 20:01:34,323 INFO L240 hiAutomatonCegarLoop]: Abstraction has 188 states and 198 transitions. [2025-03-17 20:01:34,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2025-03-17 20:01:34,325 INFO L432 stractBuchiCegarLoop]: Abstraction has 188 states and 198 transitions. [2025-03-17 20:01:34,325 INFO L338 stractBuchiCegarLoop]: ======== Iteration 32 ============ [2025-03-17 20:01:34,325 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 188 states and 198 transitions. [2025-03-17 20:01:34,326 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:34,326 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:34,326 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:34,326 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [20, 20, 20, 19, 19, 11, 11, 9, 8, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:34,326 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:34,327 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:34,327 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:34,327 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:34,327 INFO L85 PathProgramCache]: Analyzing trace with hash 1658665255, now seen corresponding path program 22 times [2025-03-17 20:01:34,327 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:34,327 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1375299508] [2025-03-17 20:01:34,328 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:01:34,328 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:34,344 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 143 statements into 2 equivalence classes. [2025-03-17 20:01:34,385 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 143 of 143 statements. [2025-03-17 20:01:34,385 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:01:34,385 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:35,575 INFO L134 CoverageAnalysis]: Checked inductivity of 1312 backedges. 553 proven. 227 refuted. 0 times theorem prover too weak. 532 trivial. 0 not checked. [2025-03-17 20:01:35,575 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:35,575 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1375299508] [2025-03-17 20:01:35,575 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1375299508] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:35,575 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [896149968] [2025-03-17 20:01:35,575 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:01:35,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:35,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:35,577 INFO L229 MonitoredProcess]: Starting monitored process 105 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:35,578 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (105)] Waiting until timeout for monitored process [2025-03-17 20:01:35,697 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 143 statements into 2 equivalence classes. [2025-03-17 20:01:37,414 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 143 of 143 statements. [2025-03-17 20:01:37,414 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:01:37,414 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:37,418 INFO L256 TraceCheckSpWp]: Trace formula consists of 591 conjuncts, 42 conjuncts are in the unsatisfiable core [2025-03-17 20:01:37,419 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:38,038 INFO L134 CoverageAnalysis]: Checked inductivity of 1312 backedges. 590 proven. 190 refuted. 0 times theorem prover too weak. 532 trivial. 0 not checked. [2025-03-17 20:01:38,038 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:38,646 INFO L134 CoverageAnalysis]: Checked inductivity of 1312 backedges. 590 proven. 190 refuted. 0 times theorem prover too weak. 532 trivial. 0 not checked. [2025-03-17 20:01:38,646 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [896149968] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:38,646 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:38,646 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [44, 42, 42] total 84 [2025-03-17 20:01:38,646 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1920102699] [2025-03-17 20:01:38,646 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:38,646 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 20:01:38,646 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:38,646 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 19 times [2025-03-17 20:01:38,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:38,646 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [380826140] [2025-03-17 20:01:38,646 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:01:38,646 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:38,649 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:38,649 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:38,649 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:38,649 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:38,649 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:38,650 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:38,650 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:38,650 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:38,650 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:38,652 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:38,700 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:38,701 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 84 interpolants. [2025-03-17 20:01:38,702 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1541, Invalid=5431, Unknown=0, NotChecked=0, Total=6972 [2025-03-17 20:01:38,703 INFO L87 Difference]: Start difference. First operand 188 states and 198 transitions. cyclomatic complexity: 18 Second operand has 84 states, 84 states have (on average 2.4642857142857144) internal successors, (207), 84 states have internal predecessors, (207), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:39,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:39,020 INFO L93 Difference]: Finished difference Result 223 states and 233 transitions. [2025-03-17 20:01:39,020 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 223 states and 233 transitions. [2025-03-17 20:01:39,021 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:39,021 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 223 states to 191 states and 201 transitions. [2025-03-17 20:01:39,021 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 81 [2025-03-17 20:01:39,021 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 81 [2025-03-17 20:01:39,021 INFO L73 IsDeterministic]: Start isDeterministic. Operand 191 states and 201 transitions. [2025-03-17 20:01:39,021 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:39,022 INFO L218 hiAutomatonCegarLoop]: Abstraction has 191 states and 201 transitions. [2025-03-17 20:01:39,022 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states and 201 transitions. [2025-03-17 20:01:39,023 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 189. [2025-03-17 20:01:39,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 189 states, 189 states have (on average 1.052910052910053) internal successors, (199), 188 states have internal predecessors, (199), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:39,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 189 states to 189 states and 199 transitions. [2025-03-17 20:01:39,024 INFO L240 hiAutomatonCegarLoop]: Abstraction has 189 states and 199 transitions. [2025-03-17 20:01:39,024 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2025-03-17 20:01:39,024 INFO L432 stractBuchiCegarLoop]: Abstraction has 189 states and 199 transitions. [2025-03-17 20:01:39,025 INFO L338 stractBuchiCegarLoop]: ======== Iteration 33 ============ [2025-03-17 20:01:39,025 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 189 states and 199 transitions. [2025-03-17 20:01:39,025 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:39,025 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:39,025 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:39,025 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [20, 20, 20, 20, 19, 11, 11, 9, 8, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:39,025 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:39,026 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:39,026 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:39,026 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:39,026 INFO L85 PathProgramCache]: Analyzing trace with hash -1182564451, now seen corresponding path program 23 times [2025-03-17 20:01:39,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:39,026 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [22029279] [2025-03-17 20:01:39,026 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:01:39,026 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:39,039 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 144 statements into 21 equivalence classes. [2025-03-17 20:01:39,110 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 21 check-sat command(s) and asserted 144 of 144 statements. [2025-03-17 20:01:39,111 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 21 check-sat command(s) [2025-03-17 20:01:39,111 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-03-17 20:01:39,114 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1634328048] [2025-03-17 20:01:39,114 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:01:39,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:39,114 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:39,119 INFO L229 MonitoredProcess]: Starting monitored process 106 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:39,119 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (106)] Waiting until timeout for monitored process [2025-03-17 20:01:39,244 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 144 statements into 21 equivalence classes. [2025-03-17 20:01:39,911 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 21 check-sat command(s) and asserted 144 of 144 statements. [2025-03-17 20:01:39,911 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 21 check-sat command(s) [2025-03-17 20:01:39,911 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:39,911 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:39,935 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 144 statements into 1 equivalence classes. [2025-03-17 20:01:40,529 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 144 of 144 statements. [2025-03-17 20:01:40,530 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:40,530 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:40,564 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:40,564 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:40,564 INFO L85 PathProgramCache]: Analyzing trace with hash 54587, now seen corresponding path program 20 times [2025-03-17 20:01:40,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:40,564 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [351345417] [2025-03-17 20:01:40,564 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:01:40,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:40,566 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:40,567 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:40,567 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:01:40,567 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:40,567 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:01:40,568 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 20:01:40,568 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 20:01:40,568 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:40,568 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:01:40,570 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:01:40,570 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:40,570 INFO L85 PathProgramCache]: Analyzing trace with hash 1839194143, now seen corresponding path program 24 times [2025-03-17 20:01:40,570 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:40,570 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1892372393] [2025-03-17 20:01:40,570 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:01:40,570 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:40,582 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 147 statements into 21 equivalence classes. [2025-03-17 20:01:40,682 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) and asserted 147 of 147 statements. [2025-03-17 20:01:40,683 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) [2025-03-17 20:01:40,683 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:41,566 INFO L134 CoverageAnalysis]: Checked inductivity of 1390 backedges. 388 proven. 562 refuted. 0 times theorem prover too weak. 440 trivial. 0 not checked. [2025-03-17 20:01:41,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:01:41,567 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1892372393] [2025-03-17 20:01:41,567 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1892372393] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:01:41,567 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [948104780] [2025-03-17 20:01:41,567 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:01:41,567 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:01:41,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:01:41,569 INFO L229 MonitoredProcess]: Starting monitored process 107 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:01:41,570 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (107)] Waiting until timeout for monitored process [2025-03-17 20:01:41,691 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 147 statements into 21 equivalence classes. [2025-03-17 20:01:44,062 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) and asserted 147 of 147 statements. [2025-03-17 20:01:44,062 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) [2025-03-17 20:01:44,062 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:01:44,071 INFO L256 TraceCheckSpWp]: Trace formula consists of 614 conjuncts, 44 conjuncts are in the unsatisfiable core [2025-03-17 20:01:44,073 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:01:45,010 INFO L134 CoverageAnalysis]: Checked inductivity of 1390 backedges. 590 proven. 590 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2025-03-17 20:01:45,010 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:01:45,835 INFO L134 CoverageAnalysis]: Checked inductivity of 1390 backedges. 590 proven. 590 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2025-03-17 20:01:45,835 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [948104780] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:01:45,835 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:01:45,835 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 44, 44] total 94 [2025-03-17 20:01:45,835 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [112991499] [2025-03-17 20:01:45,835 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:01:45,878 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:01:45,879 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 95 interpolants. [2025-03-17 20:01:45,880 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1369, Invalid=7561, Unknown=0, NotChecked=0, Total=8930 [2025-03-17 20:01:45,881 INFO L87 Difference]: Start difference. First operand 189 states and 199 transitions. cyclomatic complexity: 18 Second operand has 95 states, 94 states have (on average 2.797872340425532) internal successors, (263), 95 states have internal predecessors, (263), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:55,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:01:55,532 INFO L93 Difference]: Finished difference Result 1290 states and 1382 transitions. [2025-03-17 20:01:55,532 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1290 states and 1382 transitions. [2025-03-17 20:01:55,535 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:55,537 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1290 states to 937 states and 994 transitions. [2025-03-17 20:01:55,537 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 463 [2025-03-17 20:01:55,537 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 758 [2025-03-17 20:01:55,538 INFO L73 IsDeterministic]: Start isDeterministic. Operand 937 states and 994 transitions. [2025-03-17 20:01:55,538 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 20:01:55,538 INFO L218 hiAutomatonCegarLoop]: Abstraction has 937 states and 994 transitions. [2025-03-17 20:01:55,538 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 937 states and 994 transitions. [2025-03-17 20:01:55,543 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 937 to 845. [2025-03-17 20:01:55,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 845 states, 845 states have (on average 1.0568047337278106) internal successors, (893), 844 states have internal predecessors, (893), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 20:01:55,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 845 states to 845 states and 893 transitions. [2025-03-17 20:01:55,545 INFO L240 hiAutomatonCegarLoop]: Abstraction has 845 states and 893 transitions. [2025-03-17 20:01:55,546 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 324 states. [2025-03-17 20:01:55,546 INFO L432 stractBuchiCegarLoop]: Abstraction has 845 states and 893 transitions. [2025-03-17 20:01:55,546 INFO L338 stractBuchiCegarLoop]: ======== Iteration 34 ============ [2025-03-17 20:01:55,546 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 845 states and 893 transitions. [2025-03-17 20:01:55,548 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2025-03-17 20:01:55,548 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:01:55,548 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:01:55,548 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [31, 30, 21, 21, 21, 20, 11, 10, 9, 1, 1, 1, 1, 1, 1] [2025-03-17 20:01:55,548 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 20:01:55,548 INFO L752 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(11, 2);~N~0 := 0;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem11#1, main_#t~post12#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;havoc main_#t~nondet5#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0 % 4294967296);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume init_nondet_~i~0#1 < ~N~0;havoc init_nondet_#t~nondet1#1;call write~int#1(init_nondet_#t~nondet1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet1#1;init_nondet_#t~post2#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post2#1;havoc init_nondet_#t~post2#1;" "assume !(init_nondet_~i~0#1 < ~N~0);havoc init_nondet_#t~nondet1#1, init_nondet_#t~post2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;havoc init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume !(rangesum_~i~1#1 < ~N~0);" "assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296);" "main_#t~ret6#1 := rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;havoc rangesum_#in~x#1.base, rangesum_#in~x#1.offset;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int#1(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int#1(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int#1(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int#1(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem3#1, rangesum_#t~post4#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2));" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:55,549 INFO L754 eck$LassoCheckResult]: Loop: "assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem3#1 := read~int#1(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem3#1;havoc rangesum_#t~mem3#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1;" "rangesum_#t~post4#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post4#1;havoc rangesum_#t~post4#1;" "assume rangesum_~i~1#1 < ~N~0;" [2025-03-17 20:01:55,549 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:01:55,549 INFO L85 PathProgramCache]: Analyzing trace with hash -1548139119, now seen corresponding path program 25 times [2025-03-17 20:01:55,549 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:01:55,549 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [694379294] [2025-03-17 20:01:55,549 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:01:55,549 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:01:55,563 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 180 statements into 1 equivalence classes. [2025-03-17 20:01:55,579 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 180 of 180 statements. [2025-03-17 20:01:55,580 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:01:55,580 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat