./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/termination-memory-alloca/GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 3289d67d Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/termination-memory-alloca/GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash 8fbd99b1bfb27b318d252229087f8d9132096866b72085e8874326b5a6d541b4 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.fs.icfgbuilder-eval-3289d67-m [2024-11-17 08:06:45,551 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-17 08:06:45,637 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2024-11-17 08:06:45,646 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-17 08:06:45,651 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-17 08:06:45,651 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.Remove goto edges from RCFG [2024-11-17 08:06:45,682 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-17 08:06:45,687 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-17 08:06:45,688 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-17 08:06:45,688 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-17 08:06:45,688 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-17 08:06:45,689 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-17 08:06:45,689 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-17 08:06:45,689 INFO L153 SettingsManager]: * Use SBE=true [2024-11-17 08:06:45,689 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-17 08:06:45,690 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-17 08:06:45,690 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-17 08:06:45,690 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-17 08:06:45,690 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-17 08:06:45,690 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-17 08:06:45,691 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-17 08:06:45,697 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-17 08:06:45,697 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-17 08:06:45,698 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-17 08:06:45,698 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-17 08:06:45,698 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-17 08:06:45,698 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-17 08:06:45,698 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-17 08:06:45,699 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-17 08:06:45,699 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-17 08:06:45,699 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-17 08:06:45,699 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-17 08:06:45,699 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2024-11-17 08:06:45,700 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-17 08:06:45,700 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-17 08:06:45,700 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-17 08:06:45,700 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-17 08:06:45,701 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 8fbd99b1bfb27b318d252229087f8d9132096866b72085e8874326b5a6d541b4 [2024-11-17 08:06:45,936 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-17 08:06:45,957 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-17 08:06:45,959 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-17 08:06:45,960 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-17 08:06:45,961 INFO L274 PluginConnector]: CDTParser initialized [2024-11-17 08:06:45,962 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-memory-alloca/GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i [2024-11-17 08:06:47,176 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-17 08:06:47,391 INFO L384 CDTParser]: Found 1 translation units. [2024-11-17 08:06:47,391 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-memory-alloca/GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i [2024-11-17 08:06:47,401 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/348870159/1c1a4a986ce645bbb71152888b9d3e02/FLAG9977091c0 [2024-11-17 08:06:47,768 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/348870159/1c1a4a986ce645bbb71152888b9d3e02 [2024-11-17 08:06:47,770 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-17 08:06:47,771 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-17 08:06:47,775 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-17 08:06:47,775 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-17 08:06:47,780 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-17 08:06:47,780 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.11 08:06:47" (1/1) ... [2024-11-17 08:06:47,781 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@e412cfa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:47, skipping insertion in model container [2024-11-17 08:06:47,781 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.11 08:06:47" (1/1) ... [2024-11-17 08:06:47,813 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-17 08:06:48,045 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-17 08:06:48,053 INFO L200 MainTranslator]: Completed pre-run [2024-11-17 08:06:48,096 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-17 08:06:48,117 INFO L204 MainTranslator]: Completed translation [2024-11-17 08:06:48,118 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48 WrapperNode [2024-11-17 08:06:48,118 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-17 08:06:48,119 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-17 08:06:48,119 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-17 08:06:48,119 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-17 08:06:48,124 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,134 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,146 INFO L138 Inliner]: procedures = 110, calls = 24, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 75 [2024-11-17 08:06:48,147 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-17 08:06:48,147 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-17 08:06:48,148 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-17 08:06:48,148 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-17 08:06:48,155 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,155 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,157 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,169 INFO L175 MemorySlicer]: Split 14 memory accesses to 3 slices as follows [6, 3, 5]. 43 percent of accesses are in the largest equivalence class. The 0 initializations are split as follows [0, 0, 0]. The 5 writes are split as follows [3, 1, 1]. [2024-11-17 08:06:48,169 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,169 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,173 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,173 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,174 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,175 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,176 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-17 08:06:48,177 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2024-11-17 08:06:48,177 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2024-11-17 08:06:48,177 INFO L274 PluginConnector]: IcfgBuilder initialized [2024-11-17 08:06:48,178 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (1/1) ... [2024-11-17 08:06:48,186 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:48,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:48,205 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:48,207 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-11-17 08:06:48,243 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-17 08:06:48,243 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-17 08:06:48,243 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-11-17 08:06:48,243 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-17 08:06:48,244 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-17 08:06:48,244 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-11-17 08:06:48,244 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-11-17 08:06:48,244 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-11-17 08:06:48,244 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-17 08:06:48,245 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-17 08:06:48,329 INFO L256 CfgBuilder]: Building ICFG [2024-11-17 08:06:48,330 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-17 08:06:48,419 INFO L1250 $ProcedureCfgBuilder]: dead code at ProgramPoint L548: call ULTIMATE.dealloc(main_#t~malloc2#1.base, main_#t~malloc2#1.offset);havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call ULTIMATE.dealloc(main_#t~malloc3#1.base, main_#t~malloc3#1.offset);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset; [2024-11-17 08:06:48,429 INFO L? ?]: Removed 11 outVars from TransFormulas that were not future-live. [2024-11-17 08:06:48,430 INFO L307 CfgBuilder]: Performing block encoding [2024-11-17 08:06:48,437 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-17 08:06:48,438 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2024-11-17 08:06:48,438 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.11 08:06:48 BoogieIcfgContainer [2024-11-17 08:06:48,438 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2024-11-17 08:06:48,439 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-17 08:06:48,439 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-17 08:06:48,442 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-17 08:06:48,442 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-17 08:06:48,443 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.11 08:06:47" (1/3) ... [2024-11-17 08:06:48,443 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@17a73b81 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.11 08:06:48, skipping insertion in model container [2024-11-17 08:06:48,443 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-17 08:06:48,443 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.11 08:06:48" (2/3) ... [2024-11-17 08:06:48,444 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@17a73b81 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.11 08:06:48, skipping insertion in model container [2024-11-17 08:06:48,444 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-17 08:06:48,444 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.11 08:06:48" (3/3) ... [2024-11-17 08:06:48,445 INFO L332 chiAutomizerObserver]: Analyzing ICFG GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i [2024-11-17 08:06:48,483 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-11-17 08:06:48,484 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-11-17 08:06:48,484 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-17 08:06:48,484 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-17 08:06:48,484 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-17 08:06:48,484 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-11-17 08:06:48,484 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-17 08:06:48,484 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-17 08:06:48,488 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 13 states, 12 states have (on average 1.5) internal successors, (18), 12 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:48,500 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:48,501 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:48,501 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:48,505 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-17 08:06:48,505 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-17 08:06:48,505 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-17 08:06:48,505 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 13 states, 12 states have (on average 1.5) internal successors, (18), 12 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:48,506 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:48,506 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:48,507 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:48,507 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-17 08:06:48,507 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-17 08:06:48,510 INFO L745 eck$LassoCheckResult]: Stem: 3#ULTIMATE.startENTRYtrue assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 10#ULTIMATE.init_returnLabel#1true assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 6#L552-1true assume !main_#t~short9#1; 7#L552true assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 8#L555true [2024-11-17 08:06:48,511 INFO L747 eck$LassoCheckResult]: Loop: 8#L555true assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5#L555-2true assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 13#L555-1true assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4#L556true assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 8#L555true [2024-11-17 08:06:48,515 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:48,515 INFO L85 PathProgramCache]: Analyzing trace with hash 1538173, now seen corresponding path program 1 times [2024-11-17 08:06:48,522 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:48,522 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1359410017] [2024-11-17 08:06:48,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:48,523 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:48,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:48,713 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:48,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:06:48,714 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1359410017] [2024-11-17 08:06:48,715 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1359410017] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-17 08:06:48,715 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-17 08:06:48,715 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-17 08:06:48,716 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1779569055] [2024-11-17 08:06:48,717 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-17 08:06:48,720 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:06:48,720 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:48,720 INFO L85 PathProgramCache]: Analyzing trace with hash 1321690, now seen corresponding path program 1 times [2024-11-17 08:06:48,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:48,721 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [926288365] [2024-11-17 08:06:48,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:48,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:48,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:48,740 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:48,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:48,762 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:49,031 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:06:49,052 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-17 08:06:49,052 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-17 08:06:49,054 INFO L87 Difference]: Start difference. First operand has 13 states, 12 states have (on average 1.5) internal successors, (18), 12 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:49,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:06:49,066 INFO L93 Difference]: Finished difference Result 14 states and 18 transitions. [2024-11-17 08:06:49,067 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 14 states and 18 transitions. [2024-11-17 08:06:49,068 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:49,070 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 14 states to 8 states and 10 transitions. [2024-11-17 08:06:49,071 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 8 [2024-11-17 08:06:49,071 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 8 [2024-11-17 08:06:49,072 INFO L73 IsDeterministic]: Start isDeterministic. Operand 8 states and 10 transitions. [2024-11-17 08:06:49,072 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-17 08:06:49,072 INFO L218 hiAutomatonCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-17 08:06:49,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states and 10 transitions. [2024-11-17 08:06:49,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2024-11-17 08:06:49,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 1.25) internal successors, (10), 7 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:49,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 10 transitions. [2024-11-17 08:06:49,089 INFO L240 hiAutomatonCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-17 08:06:49,090 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-17 08:06:49,092 INFO L425 stractBuchiCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-17 08:06:49,092 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-17 08:06:49,093 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 8 states and 10 transitions. [2024-11-17 08:06:49,093 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:49,093 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:49,093 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:49,093 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-17 08:06:49,094 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-17 08:06:49,094 INFO L745 eck$LassoCheckResult]: Stem: 38#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 39#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 40#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 43#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 36#L555 [2024-11-17 08:06:49,094 INFO L747 eck$LassoCheckResult]: Loop: 36#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 37#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 42#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 41#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 36#L555 [2024-11-17 08:06:49,094 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:49,095 INFO L85 PathProgramCache]: Analyzing trace with hash 1538142, now seen corresponding path program 1 times [2024-11-17 08:06:49,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:49,095 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1334724808] [2024-11-17 08:06:49,095 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:49,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:49,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:49,124 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:49,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:49,140 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:49,141 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:49,141 INFO L85 PathProgramCache]: Analyzing trace with hash 1321690, now seen corresponding path program 2 times [2024-11-17 08:06:49,141 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:49,142 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1842628969] [2024-11-17 08:06:49,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:49,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:49,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:49,150 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:49,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:49,157 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:49,158 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:49,158 INFO L85 PathProgramCache]: Analyzing trace with hash -1127338825, now seen corresponding path program 1 times [2024-11-17 08:06:49,158 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:49,158 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1764941237] [2024-11-17 08:06:49,158 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:49,158 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:49,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:49,201 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:49,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:49,234 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:49,883 INFO L204 LassoAnalysis]: Preferences: [2024-11-17 08:06:49,884 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-17 08:06:49,884 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-17 08:06:49,884 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-17 08:06:49,884 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-17 08:06:49,884 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:49,884 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-17 08:06:49,884 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-17 08:06:49,884 INFO L132 ssoRankerPreferences]: Filename of dumped script: GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i_Iteration2_Lasso [2024-11-17 08:06:49,884 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-17 08:06:49,884 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-17 08:06:49,899 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:49,904 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:49,906 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:49,909 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:49,911 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:49,914 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:49,916 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:49,919 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:49,921 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,272 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,274 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,276 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,278 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,280 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,282 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,284 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,286 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,287 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,290 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,291 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:50,630 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-17 08:06:50,633 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-17 08:06:50,634 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,634 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,636 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,637 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2024-11-17 08:06:50,642 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,652 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,653 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:50,653 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,653 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,653 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,655 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:50,655 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:50,656 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,667 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:50,667 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,667 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,669 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,678 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2024-11-17 08:06:50,678 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,688 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,689 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:50,689 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,689 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,689 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,689 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:50,690 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:50,691 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,704 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2024-11-17 08:06:50,705 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,705 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,707 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,714 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2024-11-17 08:06:50,715 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,726 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,726 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:50,726 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,726 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,726 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,730 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:50,730 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:50,732 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,744 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2024-11-17 08:06:50,744 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,748 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,749 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2024-11-17 08:06:50,751 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,760 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,761 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:50,761 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,761 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,761 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,761 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:50,762 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:50,763 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,775 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2024-11-17 08:06:50,776 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,776 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,777 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,778 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2024-11-17 08:06:50,779 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,789 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,789 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,789 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,789 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,792 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:50,792 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:50,796 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,806 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2024-11-17 08:06:50,807 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,808 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,809 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2024-11-17 08:06:50,809 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,819 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,819 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:50,819 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,820 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,820 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,820 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:50,820 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:50,823 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,836 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2024-11-17 08:06:50,836 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,836 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,837 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,841 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2024-11-17 08:06:50,842 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,859 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,859 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:50,859 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,859 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,860 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,860 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:50,860 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:50,865 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,885 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Ended with exit code 0 [2024-11-17 08:06:50,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,886 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,887 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,892 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2024-11-17 08:06:50,893 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,914 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,914 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:50,914 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,914 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,914 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,915 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:50,915 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:50,918 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,933 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:50,934 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,934 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,935 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,936 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2024-11-17 08:06:50,936 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,947 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,947 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,947 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,947 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,962 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:50,962 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:50,967 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:50,978 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Ended with exit code 0 [2024-11-17 08:06:50,979 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:50,979 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:50,980 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:50,981 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2024-11-17 08:06:50,982 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:50,991 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:50,992 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:50,992 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:50,992 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:50,994 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:50,994 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:51,000 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:51,011 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:51,011 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:51,011 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:51,012 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:51,016 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2024-11-17 08:06:51,017 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:51,026 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:51,027 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:51,027 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:51,027 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:51,030 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:51,030 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:51,033 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:51,043 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:51,043 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:51,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:51,045 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:51,045 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2024-11-17 08:06:51,047 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:51,057 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:51,057 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:51,057 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:51,057 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:51,059 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:51,059 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:51,061 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:51,071 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:51,071 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:51,071 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:51,075 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:51,076 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2024-11-17 08:06:51,077 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:51,087 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:51,087 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:51,087 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:51,087 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:51,089 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:51,089 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:51,094 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:51,105 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:51,105 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:51,105 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:51,107 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:51,108 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2024-11-17 08:06:51,109 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:51,119 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:51,119 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:51,119 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:51,119 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:51,123 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:51,123 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:51,129 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:51,140 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:51,141 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:51,141 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:51,142 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) [2024-11-17 08:06:51,143 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 [2024-11-17 08:06:51,144 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:51,154 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:51,155 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:51,155 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-17 08:06:51,155 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:51,167 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-17 08:06:51,168 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-17 08:06:51,191 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-17 08:06:51,274 INFO L443 ModelExtractionUtils]: Simplification made 24 calls to the SMT solver. [2024-11-17 08:06:51,275 INFO L444 ModelExtractionUtils]: 2 out of 36 variables were initially zero. Simplification set additionally 31 variables to zero. [2024-11-17 08:06:51,276 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:51,276 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:51,278 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) [2024-11-17 08:06:51,279 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 [2024-11-17 08:06:51,279 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-17 08:06:51,292 INFO L438 nArgumentSynthesizer]: Removed 4 redundant supporting invariants from a total of 4. [2024-11-17 08:06:51,292 INFO L474 LassoAnalysis]: Proved termination. [2024-11-17 08:06:51,293 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#1 ULTIMATE.start_main_~maxId~0#1.base) 0)_1, v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_1) = 1*v_rep(select (select #memory_int#1 ULTIMATE.start_main_~maxId~0#1.base) 0)_1 - 1*v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_1 Supporting invariants [] [2024-11-17 08:06:51,305 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 [2024-11-17 08:06:51,406 INFO L156 tatePredicateManager]: 23 out of 24 supporting invariants were superfluous and have been removed [2024-11-17 08:06:51,412 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#1 [2024-11-17 08:06:51,413 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#1,GLOBAL] [2024-11-17 08:06:51,413 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#1,GLOBAL],[IdentifierExpression[~maxId~0!base,]]] [2024-11-17 08:06:51,414 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-17 08:06:51,414 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-17 08:06:51,414 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~tmp~0!base,]]] [2024-11-17 08:06:51,447 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:51,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:51,485 INFO L255 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 5 conjuncts are in the unsatisfiable core [2024-11-17 08:06:51,486 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:06:51,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:51,505 INFO L255 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 10 conjuncts are in the unsatisfiable core [2024-11-17 08:06:51,506 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:06:51,553 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:51,555 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 2 loop predicates [2024-11-17 08:06:51,557 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 8 states and 10 transitions. cyclomatic complexity: 3 Second operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:51,597 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 8 states and 10 transitions. cyclomatic complexity: 3. Second operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 16 states and 22 transitions. Complement of second has 8 states. [2024-11-17 08:06:51,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 2 stem states 2 non-accepting loop states 1 accepting loop states [2024-11-17 08:06:51,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:51,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 9 transitions. [2024-11-17 08:06:51,600 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 9 transitions. Stem has 4 letters. Loop has 4 letters. [2024-11-17 08:06:51,601 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:06:51,601 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 9 transitions. Stem has 8 letters. Loop has 4 letters. [2024-11-17 08:06:51,601 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:06:51,601 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 9 transitions. Stem has 4 letters. Loop has 8 letters. [2024-11-17 08:06:51,601 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:06:51,601 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 16 states and 22 transitions. [2024-11-17 08:06:51,602 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:51,602 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 16 states to 16 states and 22 transitions. [2024-11-17 08:06:51,602 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2024-11-17 08:06:51,602 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2024-11-17 08:06:51,602 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16 states and 22 transitions. [2024-11-17 08:06:51,602 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:06:51,602 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16 states and 22 transitions. [2024-11-17 08:06:51,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16 states and 22 transitions. [2024-11-17 08:06:51,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16 to 16. [2024-11-17 08:06:51,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.375) internal successors, (22), 15 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:51,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 22 transitions. [2024-11-17 08:06:51,604 INFO L240 hiAutomatonCegarLoop]: Abstraction has 16 states and 22 transitions. [2024-11-17 08:06:51,604 INFO L425 stractBuchiCegarLoop]: Abstraction has 16 states and 22 transitions. [2024-11-17 08:06:51,604 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-17 08:06:51,604 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 16 states and 22 transitions. [2024-11-17 08:06:51,605 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:51,605 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:51,605 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:51,605 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-17 08:06:51,605 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-17 08:06:51,605 INFO L745 eck$LassoCheckResult]: Stem: 215#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 216#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 217#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 222#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 223#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 214#L555-2 assume !main_#t~short15#1; 220#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 218#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 210#L555 [2024-11-17 08:06:51,606 INFO L747 eck$LassoCheckResult]: Loop: 210#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 211#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 225#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 224#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 210#L555 [2024-11-17 08:06:51,606 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:51,606 INFO L85 PathProgramCache]: Analyzing trace with hash -1127337863, now seen corresponding path program 1 times [2024-11-17 08:06:51,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:51,606 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1272161908] [2024-11-17 08:06:51,606 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:51,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:51,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:51,718 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:51,719 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:06:51,719 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1272161908] [2024-11-17 08:06:51,719 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1272161908] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-17 08:06:51,719 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-17 08:06:51,719 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-17 08:06:51,719 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2070664752] [2024-11-17 08:06:51,719 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-17 08:06:51,719 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:06:51,719 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:51,720 INFO L85 PathProgramCache]: Analyzing trace with hash 1321690, now seen corresponding path program 3 times [2024-11-17 08:06:51,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:51,720 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [351316132] [2024-11-17 08:06:51,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:51,720 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:51,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:51,727 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:51,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:51,731 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:51,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:06:51,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-17 08:06:51,858 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-17 08:06:51,858 INFO L87 Difference]: Start difference. First operand 16 states and 22 transitions. cyclomatic complexity: 8 Second operand has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:51,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:06:51,884 INFO L93 Difference]: Finished difference Result 22 states and 28 transitions. [2024-11-17 08:06:51,884 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 22 states and 28 transitions. [2024-11-17 08:06:51,885 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:51,886 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 22 states to 22 states and 28 transitions. [2024-11-17 08:06:51,886 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 15 [2024-11-17 08:06:51,886 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 15 [2024-11-17 08:06:51,886 INFO L73 IsDeterministic]: Start isDeterministic. Operand 22 states and 28 transitions. [2024-11-17 08:06:51,886 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:06:51,886 INFO L218 hiAutomatonCegarLoop]: Abstraction has 22 states and 28 transitions. [2024-11-17 08:06:51,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states and 28 transitions. [2024-11-17 08:06:51,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 18. [2024-11-17 08:06:51,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 17 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:51,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 24 transitions. [2024-11-17 08:06:51,888 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18 states and 24 transitions. [2024-11-17 08:06:51,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-17 08:06:51,889 INFO L425 stractBuchiCegarLoop]: Abstraction has 18 states and 24 transitions. [2024-11-17 08:06:51,889 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-17 08:06:51,889 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18 states and 24 transitions. [2024-11-17 08:06:51,889 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:51,889 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:51,889 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:51,890 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-17 08:06:51,890 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-17 08:06:51,890 INFO L745 eck$LassoCheckResult]: Stem: 262#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 263#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 264#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 271#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 272#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 267#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 268#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 265#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 257#L555 [2024-11-17 08:06:51,890 INFO L747 eck$LassoCheckResult]: Loop: 257#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 258#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 274#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 273#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 257#L555 [2024-11-17 08:06:51,890 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:51,890 INFO L85 PathProgramCache]: Analyzing trace with hash -1127338824, now seen corresponding path program 1 times [2024-11-17 08:06:51,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:51,890 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1100134367] [2024-11-17 08:06:51,890 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:51,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:51,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:51,929 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:51,937 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:51,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:51,952 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:51,955 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:51,955 INFO L85 PathProgramCache]: Analyzing trace with hash 1321690, now seen corresponding path program 4 times [2024-11-17 08:06:51,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:51,956 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [480670579] [2024-11-17 08:06:51,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:51,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:51,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:51,960 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:51,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:51,967 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:51,968 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:51,968 INFO L85 PathProgramCache]: Analyzing trace with hash 469705745, now seen corresponding path program 1 times [2024-11-17 08:06:51,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:51,968 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [470222992] [2024-11-17 08:06:51,968 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:51,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:51,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:51,992 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:52,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:52,011 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:53,307 INFO L204 LassoAnalysis]: Preferences: [2024-11-17 08:06:53,308 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-17 08:06:53,308 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-17 08:06:53,308 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-17 08:06:53,308 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-17 08:06:53,308 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:53,308 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-17 08:06:53,308 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-17 08:06:53,308 INFO L132 ssoRankerPreferences]: Filename of dumped script: GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i_Iteration4_Lasso [2024-11-17 08:06:53,308 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-17 08:06:53,308 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-17 08:06:53,310 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,314 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,318 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,320 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,322 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,323 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,324 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,326 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,327 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,328 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,330 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,331 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,333 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,334 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,335 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,705 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,712 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,715 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,717 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,718 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:06:53,978 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-17 08:06:53,978 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-17 08:06:53,978 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:53,978 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:53,980 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) [2024-11-17 08:06:53,986 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 [2024-11-17 08:06:53,987 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:53,998 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:53,998 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:53,999 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:53,999 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:53,999 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:53,999 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:53,999 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,000 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,012 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 [2024-11-17 08:06:54,012 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,013 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,014 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) [2024-11-17 08:06:54,015 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 [2024-11-17 08:06:54,016 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,026 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,026 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,027 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,027 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,027 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,027 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,027 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,028 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,038 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:54,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,040 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:54,041 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2024-11-17 08:06:54,043 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,052 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,052 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,053 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,053 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,053 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,053 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,053 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,054 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,065 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Ended with exit code 0 [2024-11-17 08:06:54,065 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,065 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,066 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:54,067 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2024-11-17 08:06:54,072 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,090 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,090 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,090 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,090 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,090 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,090 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,090 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,095 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,113 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:54,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,119 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) [2024-11-17 08:06:54,121 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,121 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 [2024-11-17 08:06:54,141 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,142 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,142 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,142 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,143 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:54,143 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:54,149 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,168 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:54,168 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,169 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,170 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) [2024-11-17 08:06:54,171 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 [2024-11-17 08:06:54,174 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,195 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,195 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,195 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,195 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,195 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,196 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,196 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,197 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,218 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Ended with exit code 0 [2024-11-17 08:06:54,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,220 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) [2024-11-17 08:06:54,221 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 [2024-11-17 08:06:54,225 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,245 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,245 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,245 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,246 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,246 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,246 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,246 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,247 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,268 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 [2024-11-17 08:06:54,268 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,268 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,272 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) [2024-11-17 08:06:54,280 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 [2024-11-17 08:06:54,281 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,291 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,291 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,291 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,291 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,291 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,291 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,291 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,292 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,306 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 [2024-11-17 08:06:54,307 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,311 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) [2024-11-17 08:06:54,312 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 [2024-11-17 08:06:54,312 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,323 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,323 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,323 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,323 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,323 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,324 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,324 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,326 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,338 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:54,339 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,339 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,343 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) [2024-11-17 08:06:54,344 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 [2024-11-17 08:06:54,345 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,355 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,356 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,356 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,356 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,356 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,356 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,356 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,360 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,370 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 [2024-11-17 08:06:54,371 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,371 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,372 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-17 08:06:54,373 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2024-11-17 08:06:54,374 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,383 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,383 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,384 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,384 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,384 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,384 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,384 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,385 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,395 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Ended with exit code 0 [2024-11-17 08:06:54,395 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,395 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,397 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) [2024-11-17 08:06:54,397 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 [2024-11-17 08:06:54,399 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,408 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,408 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,408 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,408 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,409 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:54,409 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:54,411 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,422 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:54,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,423 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) [2024-11-17 08:06:54,425 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 [2024-11-17 08:06:54,425 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,435 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,435 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,435 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,435 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,435 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,435 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,435 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,436 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,447 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:54,447 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,447 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,448 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) [2024-11-17 08:06:54,449 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 [2024-11-17 08:06:54,450 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,460 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,460 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:06:54,460 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,460 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,460 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,461 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:06:54,461 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:06:54,462 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,472 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 [2024-11-17 08:06:54,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,474 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) [2024-11-17 08:06:54,475 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 [2024-11-17 08:06:54,476 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,486 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,486 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,486 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,487 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,489 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:54,489 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:54,495 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,506 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Ended with exit code 0 [2024-11-17 08:06:54,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,508 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) [2024-11-17 08:06:54,516 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 [2024-11-17 08:06:54,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 [2024-11-17 08:06:54,527 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,527 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,527 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:06:54,527 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,530 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:06:54,530 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:06:54,535 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:06:54,547 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:54,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,548 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) [2024-11-17 08:06:54,552 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 [2024-11-17 08:06:54,553 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:06:54,563 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:06:54,563 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:06:54,563 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-17 08:06:54,563 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:06:54,570 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-17 08:06:54,570 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-17 08:06:54,585 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-17 08:06:54,618 INFO L443 ModelExtractionUtils]: Simplification made 18 calls to the SMT solver. [2024-11-17 08:06:54,618 INFO L444 ModelExtractionUtils]: 7 out of 26 variables were initially zero. Simplification set additionally 13 variables to zero. [2024-11-17 08:06:54,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:06:54,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:54,620 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) [2024-11-17 08:06:54,621 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 [2024-11-17 08:06:54,625 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-17 08:06:54,643 INFO L438 nArgumentSynthesizer]: Removed 3 redundant supporting invariants from a total of 4. [2024-11-17 08:06:54,644 INFO L474 LassoAnalysis]: Proved termination. [2024-11-17 08:06:54,644 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#2 ULTIMATE.start_main_~id~0#1.base) 0)_2, v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_2) = 1*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~id~0#1.base) 0)_2 - 1*v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_2 Supporting invariants [1*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~id~0#1.base) ULTIMATE.start_main_~id~0#1.offset)_2 - 1*v_rep(select (select #memory_int#1 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_2 + 1 >= 0] [2024-11-17 08:06:54,657 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 [2024-11-17 08:06:54,716 INFO L156 tatePredicateManager]: 21 out of 23 supporting invariants were superfluous and have been removed [2024-11-17 08:06:54,719 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#2 [2024-11-17 08:06:54,719 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#2,GLOBAL] [2024-11-17 08:06:54,720 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#2,GLOBAL],[IdentifierExpression[~id~0!base,]]] [2024-11-17 08:06:54,720 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-17 08:06:54,720 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-17 08:06:54,720 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~tmp~0!base,]]] [2024-11-17 08:06:54,737 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:54,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:54,763 INFO L255 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 11 conjuncts are in the unsatisfiable core [2024-11-17 08:06:54,764 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:06:54,805 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:06:54,840 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:06:54,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:54,868 INFO L255 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 17 conjuncts are in the unsatisfiable core [2024-11-17 08:06:54,869 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:06:54,947 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Forceful destruction successful, exit code 0 [2024-11-17 08:06:54,987 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:54,988 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.4 stem predicates 4 loop predicates [2024-11-17 08:06:54,988 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 18 states and 24 transitions. cyclomatic complexity: 8 Second operand has 8 states, 8 states have (on average 1.5) internal successors, (12), 8 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:55,116 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 18 states and 24 transitions. cyclomatic complexity: 8. Second operand has 8 states, 8 states have (on average 1.5) internal successors, (12), 8 states have internal predecessors, (12), 0 states have call successors, (0), 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 34 states and 45 transitions. Complement of second has 13 states. [2024-11-17 08:06:55,117 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 9 states 4 stem states 3 non-accepting loop states 2 accepting loop states [2024-11-17 08:06:55,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 1.5) internal successors, (12), 8 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:55,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 21 transitions. [2024-11-17 08:06:55,118 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 21 transitions. Stem has 8 letters. Loop has 4 letters. [2024-11-17 08:06:55,118 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:06:55,118 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 21 transitions. Stem has 12 letters. Loop has 4 letters. [2024-11-17 08:06:55,119 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:06:55,119 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 21 transitions. Stem has 8 letters. Loop has 8 letters. [2024-11-17 08:06:55,119 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:06:55,119 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 34 states and 45 transitions. [2024-11-17 08:06:55,120 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:55,120 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 34 states to 34 states and 45 transitions. [2024-11-17 08:06:55,120 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 20 [2024-11-17 08:06:55,120 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2024-11-17 08:06:55,120 INFO L73 IsDeterministic]: Start isDeterministic. Operand 34 states and 45 transitions. [2024-11-17 08:06:55,120 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:06:55,120 INFO L218 hiAutomatonCegarLoop]: Abstraction has 34 states and 45 transitions. [2024-11-17 08:06:55,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states and 45 transitions. [2024-11-17 08:06:55,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 21. [2024-11-17 08:06:55,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.3333333333333333) internal successors, (28), 20 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) [2024-11-17 08:06:55,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 28 transitions. [2024-11-17 08:06:55,122 INFO L240 hiAutomatonCegarLoop]: Abstraction has 21 states and 28 transitions. [2024-11-17 08:06:55,122 INFO L425 stractBuchiCegarLoop]: Abstraction has 21 states and 28 transitions. [2024-11-17 08:06:55,122 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-17 08:06:55,122 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 21 states and 28 transitions. [2024-11-17 08:06:55,122 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:55,122 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:55,122 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:55,123 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1] [2024-11-17 08:06:55,123 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-17 08:06:55,123 INFO L745 eck$LassoCheckResult]: Stem: 489#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 490#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 491#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 497#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 498#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 502#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 501#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 500#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 499#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 488#L555-2 assume !main_#t~short15#1; 494#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 492#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 484#L555 [2024-11-17 08:06:55,123 INFO L747 eck$LassoCheckResult]: Loop: 484#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 485#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 504#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 503#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 484#L555 [2024-11-17 08:06:55,124 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:55,124 INFO L85 PathProgramCache]: Analyzing trace with hash 469706707, now seen corresponding path program 1 times [2024-11-17 08:06:55,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:55,125 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1882240076] [2024-11-17 08:06:55,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:55,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:55,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:55,160 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-17 08:06:55,160 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:06:55,160 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1882240076] [2024-11-17 08:06:55,160 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1882240076] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-17 08:06:55,160 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-17 08:06:55,160 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-17 08:06:55,160 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1001605871] [2024-11-17 08:06:55,161 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-17 08:06:55,161 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:06:55,161 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:55,161 INFO L85 PathProgramCache]: Analyzing trace with hash 1321690, now seen corresponding path program 5 times [2024-11-17 08:06:55,161 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:55,161 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1271339181] [2024-11-17 08:06:55,161 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:55,161 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:55,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:55,165 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:55,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:55,169 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:55,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:06:55,283 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-17 08:06:55,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-17 08:06:55,283 INFO L87 Difference]: Start difference. First operand 21 states and 28 transitions. cyclomatic complexity: 9 Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:55,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:06:55,290 INFO L93 Difference]: Finished difference Result 24 states and 28 transitions. [2024-11-17 08:06:55,290 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 24 states and 28 transitions. [2024-11-17 08:06:55,290 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:55,291 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 24 states to 21 states and 25 transitions. [2024-11-17 08:06:55,291 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 16 [2024-11-17 08:06:55,291 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 16 [2024-11-17 08:06:55,291 INFO L73 IsDeterministic]: Start isDeterministic. Operand 21 states and 25 transitions. [2024-11-17 08:06:55,291 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:06:55,291 INFO L218 hiAutomatonCegarLoop]: Abstraction has 21 states and 25 transitions. [2024-11-17 08:06:55,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states and 25 transitions. [2024-11-17 08:06:55,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2024-11-17 08:06:55,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.2) internal successors, (24), 19 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:55,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 24 transitions. [2024-11-17 08:06:55,292 INFO L240 hiAutomatonCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-11-17 08:06:55,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-17 08:06:55,293 INFO L425 stractBuchiCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-11-17 08:06:55,293 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-17 08:06:55,293 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 20 states and 24 transitions. [2024-11-17 08:06:55,293 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-17 08:06:55,293 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:55,293 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:55,294 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1] [2024-11-17 08:06:55,294 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-17 08:06:55,294 INFO L745 eck$LassoCheckResult]: Stem: 540#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 541#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 542#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 549#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 550#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 546#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 547#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 543#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 544#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 539#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 554#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 552#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 535#L555 [2024-11-17 08:06:55,294 INFO L747 eck$LassoCheckResult]: Loop: 535#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 536#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 553#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 551#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 535#L555 [2024-11-17 08:06:55,294 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:55,294 INFO L85 PathProgramCache]: Analyzing trace with hash 469705746, now seen corresponding path program 2 times [2024-11-17 08:06:55,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:55,294 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1134395363] [2024-11-17 08:06:55,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:55,294 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:55,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:55,442 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:55,442 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:06:55,442 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1134395363] [2024-11-17 08:06:55,442 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1134395363] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:06:55,443 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1856767210] [2024-11-17 08:06:55,443 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-17 08:06:55,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:06:55,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:55,446 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:06:55,446 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2024-11-17 08:06:55,538 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-17 08:06:55,539 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:06:55,539 INFO L255 TraceCheckSpWp]: Trace formula consists of 171 conjuncts, 13 conjuncts are in the unsatisfiable core [2024-11-17 08:06:55,540 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:06:55,567 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2024-11-17 08:06:55,589 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:06:55,608 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2024-11-17 08:06:55,611 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2024-11-17 08:06:55,618 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:55,618 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:06:55,659 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:06:55,663 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:55,663 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1856767210] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:06:55,663 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:06:55,663 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 10 [2024-11-17 08:06:55,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1362630556] [2024-11-17 08:06:55,663 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:06:55,663 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:06:55,663 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:55,663 INFO L85 PathProgramCache]: Analyzing trace with hash 1321690, now seen corresponding path program 6 times [2024-11-17 08:06:55,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:55,664 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1652334792] [2024-11-17 08:06:55,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:55,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:55,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:55,668 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:55,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:55,671 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:55,842 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:06:55,843 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2024-11-17 08:06:55,843 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2024-11-17 08:06:55,843 INFO L87 Difference]: Start difference. First operand 20 states and 24 transitions. cyclomatic complexity: 6 Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 11 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:55,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:06:55,905 INFO L93 Difference]: Finished difference Result 30 states and 33 transitions. [2024-11-17 08:06:55,905 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 30 states and 33 transitions. [2024-11-17 08:06:55,906 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 8 [2024-11-17 08:06:55,906 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 30 states to 27 states and 30 transitions. [2024-11-17 08:06:55,906 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 20 [2024-11-17 08:06:55,906 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 20 [2024-11-17 08:06:55,906 INFO L73 IsDeterministic]: Start isDeterministic. Operand 27 states and 30 transitions. [2024-11-17 08:06:55,906 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:06:55,906 INFO L218 hiAutomatonCegarLoop]: Abstraction has 27 states and 30 transitions. [2024-11-17 08:06:55,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states and 30 transitions. [2024-11-17 08:06:55,907 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 24. [2024-11-17 08:06:55,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.125) internal successors, (27), 23 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:55,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 27 transitions. [2024-11-17 08:06:55,908 INFO L240 hiAutomatonCegarLoop]: Abstraction has 24 states and 27 transitions. [2024-11-17 08:06:55,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-17 08:06:55,909 INFO L425 stractBuchiCegarLoop]: Abstraction has 24 states and 27 transitions. [2024-11-17 08:06:55,909 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-17 08:06:55,909 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 24 states and 27 transitions. [2024-11-17 08:06:55,910 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 8 [2024-11-17 08:06:55,910 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:55,910 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:55,910 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1] [2024-11-17 08:06:55,910 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 2, 1, 1] [2024-11-17 08:06:55,910 INFO L745 eck$LassoCheckResult]: Stem: 678#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 679#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 680#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 685#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 686#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 676#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 684#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 682#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 675#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 677#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 683#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 681#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 673#L555 [2024-11-17 08:06:55,910 INFO L747 eck$LassoCheckResult]: Loop: 673#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 674#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 695#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 691#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 692#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 696#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 694#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 693#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 673#L555 [2024-11-17 08:06:55,911 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:55,911 INFO L85 PathProgramCache]: Analyzing trace with hash 468782225, now seen corresponding path program 2 times [2024-11-17 08:06:55,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:55,911 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231677439] [2024-11-17 08:06:55,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:55,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:55,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:55,932 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:55,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:55,945 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:55,945 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:55,945 INFO L85 PathProgramCache]: Analyzing trace with hash 838156596, now seen corresponding path program 1 times [2024-11-17 08:06:55,945 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:55,945 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [328486425] [2024-11-17 08:06:55,945 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:55,946 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:55,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:55,953 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:55,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:55,957 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:55,957 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:55,957 INFO L85 PathProgramCache]: Analyzing trace with hash 1754840516, now seen corresponding path program 3 times [2024-11-17 08:06:55,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:55,957 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1069042163] [2024-11-17 08:06:55,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:55,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:55,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:56,345 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 4 proven. 20 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:56,345 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:06:56,345 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1069042163] [2024-11-17 08:06:56,345 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1069042163] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:06:56,345 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [28166311] [2024-11-17 08:06:56,345 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-17 08:06:56,345 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:06:56,346 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:56,347 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:06:56,348 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2024-11-17 08:06:56,433 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2024-11-17 08:06:56,434 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:06:56,435 INFO L255 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 26 conjuncts are in the unsatisfiable core [2024-11-17 08:06:56,437 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:06:56,513 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:06:56,599 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 21 [2024-11-17 08:06:56,625 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:06:56,651 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 16 [2024-11-17 08:06:56,654 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 12 [2024-11-17 08:06:56,669 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 10 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-17 08:06:56,669 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:06:56,852 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:06:56,857 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-17 08:06:56,857 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [28166311] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:06:56,857 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:06:56,857 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10, 9] total 22 [2024-11-17 08:06:56,857 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1907210221] [2024-11-17 08:06:56,857 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:06:57,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:06:57,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2024-11-17 08:06:57,045 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=114, Invalid=392, Unknown=0, NotChecked=0, Total=506 [2024-11-17 08:06:57,045 INFO L87 Difference]: Start difference. First operand 24 states and 27 transitions. cyclomatic complexity: 5 Second operand has 23 states, 22 states have (on average 2.090909090909091) internal successors, (46), 23 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:57,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:06:57,488 INFO L93 Difference]: Finished difference Result 75 states and 80 transitions. [2024-11-17 08:06:57,488 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 75 states and 80 transitions. [2024-11-17 08:06:57,489 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 32 [2024-11-17 08:06:57,489 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 75 states to 69 states and 74 transitions. [2024-11-17 08:06:57,489 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 47 [2024-11-17 08:06:57,490 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 47 [2024-11-17 08:06:57,490 INFO L73 IsDeterministic]: Start isDeterministic. Operand 69 states and 74 transitions. [2024-11-17 08:06:57,490 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:06:57,490 INFO L218 hiAutomatonCegarLoop]: Abstraction has 69 states and 74 transitions. [2024-11-17 08:06:57,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states and 74 transitions. [2024-11-17 08:06:57,492 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 40. [2024-11-17 08:06:57,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 40 states have (on average 1.075) internal successors, (43), 39 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) [2024-11-17 08:06:57,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 43 transitions. [2024-11-17 08:06:57,493 INFO L240 hiAutomatonCegarLoop]: Abstraction has 40 states and 43 transitions. [2024-11-17 08:06:57,493 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2024-11-17 08:06:57,494 INFO L425 stractBuchiCegarLoop]: Abstraction has 40 states and 43 transitions. [2024-11-17 08:06:57,494 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-17 08:06:57,494 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 40 states and 43 transitions. [2024-11-17 08:06:57,494 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-17 08:06:57,495 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:06:57,495 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:06:57,495 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1] [2024-11-17 08:06:57,495 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 4, 3, 1] [2024-11-17 08:06:57,495 INFO L745 eck$LassoCheckResult]: Stem: 956#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 957#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 958#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 967#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 968#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 955#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 965#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 961#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 962#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 978#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 976#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 959#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 960#L555 [2024-11-17 08:06:57,495 INFO L747 eck$LassoCheckResult]: Loop: 960#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 963#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 964#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 966#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 952#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 953#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 991#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 990#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 989#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 987#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 985#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 982#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 975#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 979#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 977#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 974#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 960#L555 [2024-11-17 08:06:57,496 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:57,496 INFO L85 PathProgramCache]: Analyzing trace with hash 468782225, now seen corresponding path program 4 times [2024-11-17 08:06:57,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:57,496 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1899553203] [2024-11-17 08:06:57,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:57,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:57,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:57,509 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:57,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:57,517 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:57,517 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:57,518 INFO L85 PathProgramCache]: Analyzing trace with hash -193515418, now seen corresponding path program 2 times [2024-11-17 08:06:57,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:57,518 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1574962567] [2024-11-17 08:06:57,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:57,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:57,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:57,527 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:06:57,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:06:57,534 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:06:57,534 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:06:57,534 INFO L85 PathProgramCache]: Analyzing trace with hash 1683823862, now seen corresponding path program 5 times [2024-11-17 08:06:57,534 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:06:57,534 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [646262154] [2024-11-17 08:06:57,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:06:57,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:06:57,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:06:58,285 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 7 proven. 53 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:58,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:06:58,285 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [646262154] [2024-11-17 08:06:58,285 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [646262154] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:06:58,285 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [165668907] [2024-11-17 08:06:58,286 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-17 08:06:58,286 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:06:58,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:06:58,288 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:06:58,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2024-11-17 08:06:58,400 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2024-11-17 08:06:58,400 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:06:58,401 INFO L255 TraceCheckSpWp]: Trace formula consists of 319 conjuncts, 41 conjuncts are in the unsatisfiable core [2024-11-17 08:06:58,404 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:06:58,406 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2024-11-17 08:06:58,437 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 28 [2024-11-17 08:06:58,465 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:06:58,562 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 18 [2024-11-17 08:06:58,588 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 41 [2024-11-17 08:06:58,676 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 39 [2024-11-17 08:06:58,704 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:06:58,711 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:06:58,713 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2024-11-17 08:06:58,715 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 1 proven. 59 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:58,715 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:06:58,940 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 38 [2024-11-17 08:06:59,040 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 20 [2024-11-17 08:06:59,046 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 50 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:06:59,046 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [165668907] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:06:59,046 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:06:59,046 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 15, 15] total 32 [2024-11-17 08:06:59,046 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [350037471] [2024-11-17 08:06:59,046 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:06:59,506 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:06:59,506 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2024-11-17 08:06:59,507 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=931, Unknown=0, NotChecked=0, Total=1056 [2024-11-17 08:06:59,507 INFO L87 Difference]: Start difference. First operand 40 states and 43 transitions. cyclomatic complexity: 5 Second operand has 33 states, 32 states have (on average 1.875) internal successors, (60), 33 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:06:59,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:06:59,997 INFO L93 Difference]: Finished difference Result 66 states and 70 transitions. [2024-11-17 08:06:59,998 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 66 states and 70 transitions. [2024-11-17 08:06:59,998 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 20 [2024-11-17 08:06:59,999 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 66 states to 66 states and 70 transitions. [2024-11-17 08:06:59,999 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 47 [2024-11-17 08:06:59,999 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 47 [2024-11-17 08:06:59,999 INFO L73 IsDeterministic]: Start isDeterministic. Operand 66 states and 70 transitions. [2024-11-17 08:06:59,999 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:06:59,999 INFO L218 hiAutomatonCegarLoop]: Abstraction has 66 states and 70 transitions. [2024-11-17 08:06:59,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states and 70 transitions. [2024-11-17 08:07:00,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 51. [2024-11-17 08:07:00,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 51 states have (on average 1.0784313725490196) internal successors, (55), 50 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:00,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2024-11-17 08:07:00,002 INFO L240 hiAutomatonCegarLoop]: Abstraction has 51 states and 55 transitions. [2024-11-17 08:07:00,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2024-11-17 08:07:00,002 INFO L425 stractBuchiCegarLoop]: Abstraction has 51 states and 55 transitions. [2024-11-17 08:07:00,003 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-17 08:07:00,003 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 51 states and 55 transitions. [2024-11-17 08:07:00,003 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 20 [2024-11-17 08:07:00,003 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:00,003 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:00,003 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1] [2024-11-17 08:07:00,003 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-17 08:07:00,003 INFO L745 eck$LassoCheckResult]: Stem: 1292#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1293#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 1294#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 1301#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 1302#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1308#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1335#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1333#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1330#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1328#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1327#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1295#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 1288#L555 [2024-11-17 08:07:00,003 INFO L747 eck$LassoCheckResult]: Loop: 1288#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1289#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1298#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1300#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1288#L555 [2024-11-17 08:07:00,004 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:00,004 INFO L85 PathProgramCache]: Analyzing trace with hash 468782225, now seen corresponding path program 6 times [2024-11-17 08:07:00,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:00,004 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1637980270] [2024-11-17 08:07:00,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:00,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:00,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:00,015 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:00,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:00,021 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:00,022 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:00,022 INFO L85 PathProgramCache]: Analyzing trace with hash 1321690, now seen corresponding path program 7 times [2024-11-17 08:07:00,022 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:00,022 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [516866395] [2024-11-17 08:07:00,022 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:00,022 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:00,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:00,026 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:00,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:00,029 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:00,029 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:00,029 INFO L85 PathProgramCache]: Analyzing trace with hash 1821142890, now seen corresponding path program 7 times [2024-11-17 08:07:00,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:00,029 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1541678432] [2024-11-17 08:07:00,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:00,029 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:00,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:00,039 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:00,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:00,049 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:01,348 INFO L204 LassoAnalysis]: Preferences: [2024-11-17 08:07:01,348 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-17 08:07:01,348 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-17 08:07:01,348 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-17 08:07:01,348 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-17 08:07:01,348 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:01,348 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-17 08:07:01,348 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-17 08:07:01,348 INFO L132 ssoRankerPreferences]: Filename of dumped script: GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i_Iteration9_Lasso [2024-11-17 08:07:01,348 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-17 08:07:01,349 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-17 08:07:01,350 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,357 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,366 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,371 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,372 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,373 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,375 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,376 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,378 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,379 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,380 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,382 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,384 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,385 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,386 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,388 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,651 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,653 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,654 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,655 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-17 08:07:01,882 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-17 08:07:01,885 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-17 08:07:01,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:01,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:01,889 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) [2024-11-17 08:07:01,890 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 [2024-11-17 08:07:01,892 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:01,902 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:01,902 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:01,902 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:01,902 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:01,902 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:01,903 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:01,903 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:01,904 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:01,914 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 [2024-11-17 08:07:01,914 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:01,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:01,915 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) [2024-11-17 08:07:01,917 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 [2024-11-17 08:07:01,918 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:01,928 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:01,928 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:01,928 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:01,928 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:01,928 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:01,929 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:01,929 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:01,930 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:01,939 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:01,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:01,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:01,941 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) [2024-11-17 08:07:01,942 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 [2024-11-17 08:07:01,942 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:01,952 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:01,952 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:01,952 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:01,952 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:01,952 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:01,953 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:01,953 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:01,954 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:01,963 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 [2024-11-17 08:07:01,963 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:01,964 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:01,965 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) [2024-11-17 08:07:01,966 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 [2024-11-17 08:07:01,966 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:01,976 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:01,977 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:01,977 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:01,977 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:01,977 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:01,977 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:01,977 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:01,979 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:01,989 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:01,989 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:01,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:01,990 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) [2024-11-17 08:07:01,991 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 [2024-11-17 08:07:01,992 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,001 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,001 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,001 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,001 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,001 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,002 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,002 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,003 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,013 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,013 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,013 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,014 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) [2024-11-17 08:07:02,015 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 [2024-11-17 08:07:02,017 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,026 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,026 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,026 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,027 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,027 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,027 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,027 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,028 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,038 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 [2024-11-17 08:07:02,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,040 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) [2024-11-17 08:07:02,041 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 [2024-11-17 08:07:02,042 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,051 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,051 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,051 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,051 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,052 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:07:02,052 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:07:02,055 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,072 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 [2024-11-17 08:07:02,072 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,072 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,073 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) [2024-11-17 08:07:02,075 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 [2024-11-17 08:07:02,076 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,086 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,086 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,086 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,086 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,086 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,087 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,087 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,088 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,098 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,098 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,099 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) [2024-11-17 08:07:02,100 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 [2024-11-17 08:07:02,101 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,110 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,111 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,114 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,114 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,114 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,115 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,115 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,116 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,126 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,126 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,126 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,128 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) [2024-11-17 08:07:02,129 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 [2024-11-17 08:07:02,129 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,139 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,139 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,139 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,139 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,139 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,139 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,139 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,140 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,150 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 [2024-11-17 08:07:02,151 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,151 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,152 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) [2024-11-17 08:07:02,153 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 [2024-11-17 08:07:02,154 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,163 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,163 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,163 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,163 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,163 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,164 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,164 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,165 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,175 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,175 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,177 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) [2024-11-17 08:07:02,180 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 [2024-11-17 08:07:02,180 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,190 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,190 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,190 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,190 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,190 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,191 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,191 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,192 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,202 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 [2024-11-17 08:07:02,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,204 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) [2024-11-17 08:07:02,205 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 [2024-11-17 08:07:02,205 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,226 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,227 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,227 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,227 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,227 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,227 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,227 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,228 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,249 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,257 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) [2024-11-17 08:07:02,257 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 [2024-11-17 08:07:02,258 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,268 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,268 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-17 08:07:02,268 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,268 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,268 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,269 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-17 08:07:02,269 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-17 08:07:02,270 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,281 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,281 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,281 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,282 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) [2024-11-17 08:07:02,283 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 [2024-11-17 08:07:02,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 [2024-11-17 08:07:02,294 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,294 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,294 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,294 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,296 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:07:02,296 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:07:02,298 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,308 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 [2024-11-17 08:07:02,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,309 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) [2024-11-17 08:07:02,310 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 [2024-11-17 08:07:02,311 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,321 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,321 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,321 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,321 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,323 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:07:02,323 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:07:02,326 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,337 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 [2024-11-17 08:07:02,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,338 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) [2024-11-17 08:07:02,339 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 [2024-11-17 08:07:02,340 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,351 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,351 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,351 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,351 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,352 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:07:02,352 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:07:02,355 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,365 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,365 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,366 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,367 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) [2024-11-17 08:07:02,368 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 [2024-11-17 08:07:02,368 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,378 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,378 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,378 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,378 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,380 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:07:02,380 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:07:02,385 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,395 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 [2024-11-17 08:07:02,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,397 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) [2024-11-17 08:07:02,398 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 [2024-11-17 08:07:02,399 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,409 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,409 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,409 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,409 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,411 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:07:02,411 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:07:02,415 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,425 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 [2024-11-17 08:07:02,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,427 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) [2024-11-17 08:07:02,428 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 [2024-11-17 08:07:02,429 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,439 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,439 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,439 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,439 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,442 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:07:02,442 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:07:02,446 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,456 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,461 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) [2024-11-17 08:07:02,462 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 [2024-11-17 08:07:02,463 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,472 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,473 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,473 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-17 08:07:02,473 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,474 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-17 08:07:02,476 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-17 08:07:02,480 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-17 08:07:02,490 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Forceful destruction successful, exit code 0 [2024-11-17 08:07:02,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,491 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,492 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) [2024-11-17 08:07:02,493 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 [2024-11-17 08:07:02,493 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-17 08:07:02,504 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-17 08:07:02,504 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-17 08:07:02,504 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-17 08:07:02,504 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-17 08:07:02,515 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-17 08:07:02,515 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-17 08:07:02,547 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-17 08:07:02,570 INFO L443 ModelExtractionUtils]: Simplification made 10 calls to the SMT solver. [2024-11-17 08:07:02,570 INFO L444 ModelExtractionUtils]: 7 out of 26 variables were initially zero. Simplification set additionally 16 variables to zero. [2024-11-17 08:07:02,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-17 08:07:02,571 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:02,574 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) [2024-11-17 08:07:02,575 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 [2024-11-17 08:07:02,575 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-17 08:07:02,587 INFO L438 nArgumentSynthesizer]: Removed 4 redundant supporting invariants from a total of 4. [2024-11-17 08:07:02,588 INFO L474 LassoAnalysis]: Proved termination. [2024-11-17 08:07:02,588 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#1 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_3, v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) 0)_2) = 1*v_rep(select (select #memory_int#1 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_3 - 1*v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) 0)_2 Supporting invariants [] [2024-11-17 08:07:02,603 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Ended with exit code 0 [2024-11-17 08:07:02,678 INFO L156 tatePredicateManager]: 21 out of 22 supporting invariants were superfluous and have been removed [2024-11-17 08:07:02,683 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#1 [2024-11-17 08:07:02,683 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#1,GLOBAL] [2024-11-17 08:07:02,683 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#1,GLOBAL],[IdentifierExpression[~maxId~0!base,]]] [2024-11-17 08:07:02,684 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-17 08:07:02,684 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-17 08:07:02,684 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~tmp~0!base,]]] [2024-11-17 08:07:02,699 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:02,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:02,734 INFO L255 TraceCheckSpWp]: Trace formula consists of 171 conjuncts, 5 conjuncts are in the unsatisfiable core [2024-11-17 08:07:02,735 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:02,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:02,771 INFO L255 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 10 conjuncts are in the unsatisfiable core [2024-11-17 08:07:02,771 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:02,805 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:02,805 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 2 loop predicates [2024-11-17 08:07:02,806 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 51 states and 55 transitions. cyclomatic complexity: 7 Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 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) [2024-11-17 08:07:02,844 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 51 states and 55 transitions. cyclomatic complexity: 7. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 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) Result 102 states and 110 transitions. Complement of second has 8 states. [2024-11-17 08:07:02,845 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 2 stem states 2 non-accepting loop states 1 accepting loop states [2024-11-17 08:07:02,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 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) [2024-11-17 08:07:02,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 13 transitions. [2024-11-17 08:07:02,845 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 13 transitions. Stem has 12 letters. Loop has 4 letters. [2024-11-17 08:07:02,846 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:07:02,846 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 13 transitions. Stem has 16 letters. Loop has 4 letters. [2024-11-17 08:07:02,846 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:07:02,846 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 13 transitions. Stem has 12 letters. Loop has 8 letters. [2024-11-17 08:07:02,846 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-17 08:07:02,846 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 102 states and 110 transitions. [2024-11-17 08:07:02,848 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-17 08:07:02,848 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 102 states to 70 states and 75 transitions. [2024-11-17 08:07:02,848 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2024-11-17 08:07:02,848 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 35 [2024-11-17 08:07:02,849 INFO L73 IsDeterministic]: Start isDeterministic. Operand 70 states and 75 transitions. [2024-11-17 08:07:02,849 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:02,849 INFO L218 hiAutomatonCegarLoop]: Abstraction has 70 states and 75 transitions. [2024-11-17 08:07:02,849 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states and 75 transitions. [2024-11-17 08:07:02,851 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 48. [2024-11-17 08:07:02,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 47 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:02,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 52 transitions. [2024-11-17 08:07:02,852 INFO L240 hiAutomatonCegarLoop]: Abstraction has 48 states and 52 transitions. [2024-11-17 08:07:02,852 INFO L425 stractBuchiCegarLoop]: Abstraction has 48 states and 52 transitions. [2024-11-17 08:07:02,852 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-17 08:07:02,852 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 48 states and 52 transitions. [2024-11-17 08:07:02,852 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-17 08:07:02,853 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:02,853 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:02,853 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 3, 2, 1, 1, 1, 1] [2024-11-17 08:07:02,853 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 4, 3, 1] [2024-11-17 08:07:02,854 INFO L745 eck$LassoCheckResult]: Stem: 1611#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1612#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 1613#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 1619#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 1620#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1616#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1617#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1614#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 1607#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1608#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1618#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1615#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1609#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1610#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1654#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1653#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1652#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1641#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1651#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1650#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1640#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1639#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1638#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1637#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 1625#L555 [2024-11-17 08:07:02,854 INFO L747 eck$LassoCheckResult]: Loop: 1625#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1635#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1633#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1621#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1622#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1636#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1634#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1632#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1631#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1630#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1629#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1628#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1624#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1627#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1626#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1623#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 1625#L555 [2024-11-17 08:07:02,854 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:02,854 INFO L85 PathProgramCache]: Analyzing trace with hash 819662621, now seen corresponding path program 8 times [2024-11-17 08:07:02,854 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:02,854 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [549578926] [2024-11-17 08:07:02,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:02,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:02,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:03,211 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 [2024-11-17 08:07:03,342 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 4 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:03,342 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:03,342 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [549578926] [2024-11-17 08:07:03,342 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [549578926] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:03,342 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [628114354] [2024-11-17 08:07:03,342 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-17 08:07:03,342 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:03,342 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:03,343 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:03,344 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2024-11-17 08:07:03,438 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-17 08:07:03,439 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:07:03,440 INFO L255 TraceCheckSpWp]: Trace formula consists of 282 conjuncts, 25 conjuncts are in the unsatisfiable core [2024-11-17 08:07:03,441 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:03,458 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:03,483 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:03,536 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 31 [2024-11-17 08:07:03,588 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 29 [2024-11-17 08:07:03,602 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:03,604 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2024-11-17 08:07:03,615 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 34 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-17 08:07:03,615 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:03,676 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 18 [2024-11-17 08:07:03,769 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 13 proven. 21 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-17 08:07:03,769 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [628114354] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:03,769 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:03,769 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10, 10] total 19 [2024-11-17 08:07:03,769 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [854306288] [2024-11-17 08:07:03,769 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:03,770 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:03,770 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:03,770 INFO L85 PathProgramCache]: Analyzing trace with hash -193515418, now seen corresponding path program 3 times [2024-11-17 08:07:03,770 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:03,770 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1141628114] [2024-11-17 08:07:03,770 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:03,770 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:03,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:03,777 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:03,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:03,783 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:04,467 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:07:04,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2024-11-17 08:07:04,468 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=318, Unknown=0, NotChecked=0, Total=380 [2024-11-17 08:07:04,468 INFO L87 Difference]: Start difference. First operand 48 states and 52 transitions. cyclomatic complexity: 7 Second operand has 20 states, 19 states have (on average 2.210526315789474) internal successors, (42), 20 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) [2024-11-17 08:07:04,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:07:04,640 INFO L93 Difference]: Finished difference Result 67 states and 71 transitions. [2024-11-17 08:07:04,640 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 67 states and 71 transitions. [2024-11-17 08:07:04,641 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-17 08:07:04,641 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 67 states to 48 states and 51 transitions. [2024-11-17 08:07:04,643 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2024-11-17 08:07:04,643 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2024-11-17 08:07:04,643 INFO L73 IsDeterministic]: Start isDeterministic. Operand 48 states and 51 transitions. [2024-11-17 08:07:04,643 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:04,643 INFO L218 hiAutomatonCegarLoop]: Abstraction has 48 states and 51 transitions. [2024-11-17 08:07:04,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states and 51 transitions. [2024-11-17 08:07:04,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2024-11-17 08:07:04,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 48 states have (on average 1.0625) internal successors, (51), 47 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:04,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 51 transitions. [2024-11-17 08:07:04,648 INFO L240 hiAutomatonCegarLoop]: Abstraction has 48 states and 51 transitions. [2024-11-17 08:07:04,648 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2024-11-17 08:07:04,648 INFO L425 stractBuchiCegarLoop]: Abstraction has 48 states and 51 transitions. [2024-11-17 08:07:04,650 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-17 08:07:04,650 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 48 states and 51 transitions. [2024-11-17 08:07:04,650 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-17 08:07:04,650 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:04,650 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:04,651 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 7, 5, 2, 1, 1, 1, 1] [2024-11-17 08:07:04,651 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 4, 3, 1] [2024-11-17 08:07:04,651 INFO L745 eck$LassoCheckResult]: Stem: 1903#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1904#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 1905#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 1913#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 1914#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1926#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1925#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1924#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1923#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1920#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1922#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1921#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1919#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1918#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1917#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1916#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 1915#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1910#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1911#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1908#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1901#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1902#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1946#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1943#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1942#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1935#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1939#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1937#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1934#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1933#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1931#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1906#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 1907#L555 [2024-11-17 08:07:04,652 INFO L747 eck$LassoCheckResult]: Loop: 1907#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1945#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1944#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1927#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1899#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1900#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1909#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1912#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1941#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1940#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1938#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1936#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 1929#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1932#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1930#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1928#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 1907#L555 [2024-11-17 08:07:04,652 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:04,654 INFO L85 PathProgramCache]: Analyzing trace with hash -905800113, now seen corresponding path program 9 times [2024-11-17 08:07:04,654 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:04,654 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [985609079] [2024-11-17 08:07:04,654 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:04,655 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:04,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:05,400 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 6 proven. 78 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:05,401 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:05,401 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [985609079] [2024-11-17 08:07:05,401 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [985609079] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:05,401 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [80550620] [2024-11-17 08:07:05,401 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-17 08:07:05,401 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:05,401 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:05,403 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:05,404 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Waiting until timeout for monitored process [2024-11-17 08:07:05,526 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2024-11-17 08:07:05,527 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:07:05,528 INFO L255 TraceCheckSpWp]: Trace formula consists of 319 conjuncts, 40 conjuncts are in the unsatisfiable core [2024-11-17 08:07:05,533 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:05,549 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:05,562 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:05,620 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:05,761 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:05,897 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 21 [2024-11-17 08:07:05,937 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 69 treesize of output 45 [2024-11-17 08:07:06,044 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 81 treesize of output 46 [2024-11-17 08:07:06,103 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 73 treesize of output 42 [2024-11-17 08:07:06,158 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 36 [2024-11-17 08:07:06,161 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 24 [2024-11-17 08:07:06,200 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 10 proven. 70 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-17 08:07:06,201 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:06,686 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 8 proven. 72 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-17 08:07:06,686 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [80550620] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:06,686 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:06,686 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15, 15] total 36 [2024-11-17 08:07:06,686 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556243856] [2024-11-17 08:07:06,686 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:06,687 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:06,687 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:06,687 INFO L85 PathProgramCache]: Analyzing trace with hash -193515418, now seen corresponding path program 4 times [2024-11-17 08:07:06,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:06,687 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1485069956] [2024-11-17 08:07:06,687 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:06,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:06,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:06,698 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:06,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:06,708 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:07,174 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:07:07,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2024-11-17 08:07:07,175 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=228, Invalid=1104, Unknown=0, NotChecked=0, Total=1332 [2024-11-17 08:07:07,175 INFO L87 Difference]: Start difference. First operand 48 states and 51 transitions. cyclomatic complexity: 6 Second operand has 37 states, 36 states have (on average 2.111111111111111) internal successors, (76), 37 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) [2024-11-17 08:07:07,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:07:07,930 INFO L93 Difference]: Finished difference Result 76 states and 79 transitions. [2024-11-17 08:07:07,930 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 76 states and 79 transitions. [2024-11-17 08:07:07,931 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-17 08:07:07,932 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 76 states to 70 states and 73 transitions. [2024-11-17 08:07:07,933 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2024-11-17 08:07:07,933 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2024-11-17 08:07:07,933 INFO L73 IsDeterministic]: Start isDeterministic. Operand 70 states and 73 transitions. [2024-11-17 08:07:07,933 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:07,933 INFO L218 hiAutomatonCegarLoop]: Abstraction has 70 states and 73 transitions. [2024-11-17 08:07:07,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states and 73 transitions. [2024-11-17 08:07:07,938 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 64. [2024-11-17 08:07:07,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 64 states have (on average 1.046875) internal successors, (67), 63 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:07,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 67 transitions. [2024-11-17 08:07:07,939 INFO L240 hiAutomatonCegarLoop]: Abstraction has 64 states and 67 transitions. [2024-11-17 08:07:07,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2024-11-17 08:07:07,941 INFO L425 stractBuchiCegarLoop]: Abstraction has 64 states and 67 transitions. [2024-11-17 08:07:07,941 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-11-17 08:07:07,941 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 64 states and 67 transitions. [2024-11-17 08:07:07,945 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-17 08:07:07,945 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:07,945 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:07,949 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 9, 7, 2, 1, 1, 1, 1] [2024-11-17 08:07:07,949 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 6, 5, 1] [2024-11-17 08:07:07,949 INFO L745 eck$LassoCheckResult]: Stem: 2297#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2298#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 2299#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 2308#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 2293#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2294#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2305#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2302#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2295#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2296#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2340#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2337#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2334#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2303#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2304#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2300#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 2301#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2356#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2355#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2354#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2353#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2352#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2351#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2350#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2349#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2348#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2347#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2346#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2345#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2344#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2343#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2342#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2341#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2336#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2339#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2338#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2335#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2333#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2315#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2316#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 2312#L555 [2024-11-17 08:07:07,950 INFO L747 eck$LassoCheckResult]: Loop: 2312#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2332#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2330#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2309#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2310#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2331#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2313#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2314#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2329#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2328#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2327#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2326#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2325#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2324#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2323#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2322#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2321#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2320#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2319#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2318#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2311#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2317#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2306#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2307#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 2312#L555 [2024-11-17 08:07:07,950 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:07,950 INFO L85 PathProgramCache]: Analyzing trace with hash -1953023359, now seen corresponding path program 10 times [2024-11-17 08:07:07,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:07,950 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [612160057] [2024-11-17 08:07:07,950 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:07,950 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:07,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:08,649 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 4 proven. 136 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-17 08:07:08,650 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:08,650 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [612160057] [2024-11-17 08:07:08,650 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [612160057] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:08,650 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [949994299] [2024-11-17 08:07:08,650 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-17 08:07:08,650 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:08,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:08,652 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:08,653 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Waiting until timeout for monitored process [2024-11-17 08:07:08,763 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-17 08:07:08,763 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:07:08,764 INFO L255 TraceCheckSpWp]: Trace formula consists of 430 conjuncts, 40 conjuncts are in the unsatisfiable core [2024-11-17 08:07:08,766 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:08,768 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2024-11-17 08:07:08,775 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:08,804 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 28 [2024-11-17 08:07:08,832 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:08,871 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 31 [2024-11-17 08:07:08,899 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:08,906 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:08,938 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 29 [2024-11-17 08:07:08,944 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:08,946 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2024-11-17 08:07:08,947 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 0 proven. 138 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-17 08:07:08,947 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:09,014 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 18 [2024-11-17 08:07:09,106 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 20 [2024-11-17 08:07:09,116 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 16 proven. 122 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-17 08:07:09,117 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [949994299] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:09,117 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:09,117 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 14] total 24 [2024-11-17 08:07:09,117 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1271583864] [2024-11-17 08:07:09,117 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:09,117 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:09,117 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:09,117 INFO L85 PathProgramCache]: Analyzing trace with hash 2130169240, now seen corresponding path program 5 times [2024-11-17 08:07:09,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:09,118 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [726392882] [2024-11-17 08:07:09,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:09,118 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:09,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:09,150 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:09,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:09,156 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:10,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:07:10,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2024-11-17 08:07:10,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=527, Unknown=0, NotChecked=0, Total=600 [2024-11-17 08:07:10,323 INFO L87 Difference]: Start difference. First operand 64 states and 67 transitions. cyclomatic complexity: 6 Second operand has 25 states, 24 states have (on average 2.3333333333333335) internal successors, (56), 25 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:10,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:07:10,751 INFO L93 Difference]: Finished difference Result 98 states and 102 transitions. [2024-11-17 08:07:10,751 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 98 states and 102 transitions. [2024-11-17 08:07:10,752 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-17 08:07:10,752 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 98 states to 71 states and 74 transitions. [2024-11-17 08:07:10,752 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2024-11-17 08:07:10,752 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2024-11-17 08:07:10,753 INFO L73 IsDeterministic]: Start isDeterministic. Operand 71 states and 74 transitions. [2024-11-17 08:07:10,753 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:10,753 INFO L218 hiAutomatonCegarLoop]: Abstraction has 71 states and 74 transitions. [2024-11-17 08:07:10,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states and 74 transitions. [2024-11-17 08:07:10,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 68. [2024-11-17 08:07:10,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 68 states have (on average 1.0441176470588236) internal successors, (71), 67 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:10,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 71 transitions. [2024-11-17 08:07:10,755 INFO L240 hiAutomatonCegarLoop]: Abstraction has 68 states and 71 transitions. [2024-11-17 08:07:10,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2024-11-17 08:07:10,756 INFO L425 stractBuchiCegarLoop]: Abstraction has 68 states and 71 transitions. [2024-11-17 08:07:10,756 INFO L332 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-11-17 08:07:10,756 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 68 states and 71 transitions. [2024-11-17 08:07:10,756 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-17 08:07:10,756 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:10,756 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:10,757 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 10, 8, 2, 1, 1, 1, 1] [2024-11-17 08:07:10,757 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 6, 5, 1] [2024-11-17 08:07:10,757 INFO L745 eck$LassoCheckResult]: Stem: 2751#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2752#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 2753#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 2762#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 2747#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2748#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2814#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2813#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2812#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2811#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2761#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2756#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2749#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2750#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2759#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2777#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2776#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2774#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2771#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2754#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 2755#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2810#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2809#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2808#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2807#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2806#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2804#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2802#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2800#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2798#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2796#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2794#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2792#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2790#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2788#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2786#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2784#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2764#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2781#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2779#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2763#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2765#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2772#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2768#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 2766#L555 [2024-11-17 08:07:10,757 INFO L747 eck$LassoCheckResult]: Loop: 2766#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2757#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2758#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2760#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2767#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2805#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2803#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2801#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2799#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2797#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2795#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2793#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2791#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2789#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2787#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2785#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2783#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2782#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2780#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2778#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 2770#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2775#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2773#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2769#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 2766#L555 [2024-11-17 08:07:10,758 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:10,758 INFO L85 PathProgramCache]: Analyzing trace with hash 2069657178, now seen corresponding path program 11 times [2024-11-17 08:07:10,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:10,758 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1090765042] [2024-11-17 08:07:10,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:10,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:10,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:11,672 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 19 proven. 161 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:11,672 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:11,672 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1090765042] [2024-11-17 08:07:11,672 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1090765042] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:11,672 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [574192153] [2024-11-17 08:07:11,672 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-17 08:07:11,672 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:11,672 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:11,674 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:11,675 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Waiting until timeout for monitored process [2024-11-17 08:07:11,819 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2024-11-17 08:07:11,820 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:07:11,821 INFO L255 TraceCheckSpWp]: Trace formula consists of 467 conjuncts, 48 conjuncts are in the unsatisfiable core [2024-11-17 08:07:11,824 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:11,826 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2024-11-17 08:07:11,849 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:11,873 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:11,926 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 28 [2024-11-17 08:07:11,965 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:12,020 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 31 [2024-11-17 08:07:12,058 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:12,073 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:12,088 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:12,147 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 29 [2024-11-17 08:07:12,160 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:12,163 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2024-11-17 08:07:12,165 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 0 proven. 179 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-17 08:07:12,165 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:12,300 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 18 [2024-11-17 08:07:12,411 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 20 [2024-11-17 08:07:12,427 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 11 proven. 168 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-17 08:07:12,427 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [574192153] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:12,427 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:12,428 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 16] total 30 [2024-11-17 08:07:12,428 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1886808592] [2024-11-17 08:07:12,428 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:12,428 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:12,428 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:12,428 INFO L85 PathProgramCache]: Analyzing trace with hash 2130169240, now seen corresponding path program 6 times [2024-11-17 08:07:12,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:12,428 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1983684524] [2024-11-17 08:07:12,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:12,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:12,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:12,468 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:12,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:12,482 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:13,848 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:07:13,849 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2024-11-17 08:07:13,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=838, Unknown=0, NotChecked=0, Total=930 [2024-11-17 08:07:13,853 INFO L87 Difference]: Start difference. First operand 68 states and 71 transitions. cyclomatic complexity: 6 Second operand has 31 states, 30 states have (on average 2.6) internal successors, (78), 31 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:15,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:07:15,194 INFO L93 Difference]: Finished difference Result 102 states and 106 transitions. [2024-11-17 08:07:15,194 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 102 states and 106 transitions. [2024-11-17 08:07:15,195 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-17 08:07:15,195 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 102 states to 75 states and 78 transitions. [2024-11-17 08:07:15,195 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2024-11-17 08:07:15,195 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2024-11-17 08:07:15,195 INFO L73 IsDeterministic]: Start isDeterministic. Operand 75 states and 78 transitions. [2024-11-17 08:07:15,195 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:15,196 INFO L218 hiAutomatonCegarLoop]: Abstraction has 75 states and 78 transitions. [2024-11-17 08:07:15,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states and 78 transitions. [2024-11-17 08:07:15,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 72. [2024-11-17 08:07:15,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 72 states have (on average 1.0416666666666667) internal successors, (75), 71 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:15,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 75 transitions. [2024-11-17 08:07:15,198 INFO L240 hiAutomatonCegarLoop]: Abstraction has 72 states and 75 transitions. [2024-11-17 08:07:15,199 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2024-11-17 08:07:15,199 INFO L425 stractBuchiCegarLoop]: Abstraction has 72 states and 75 transitions. [2024-11-17 08:07:15,199 INFO L332 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-11-17 08:07:15,199 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 72 states and 75 transitions. [2024-11-17 08:07:15,200 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-17 08:07:15,200 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:15,200 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:15,200 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 11, 9, 2, 1, 1, 1, 1] [2024-11-17 08:07:15,200 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 6, 5, 1] [2024-11-17 08:07:15,200 INFO L745 eck$LassoCheckResult]: Stem: 3269#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 3270#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 3271#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 3280#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 3265#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3266#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3316#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3274#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3267#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3268#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3277#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3279#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3315#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3314#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3313#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3312#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3311#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3290#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3310#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3292#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3289#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3288#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3287#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3285#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 3286#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3309#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3308#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3307#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3306#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3305#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3304#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3303#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3302#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3301#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3300#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3299#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3298#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3297#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3296#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3295#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3294#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3283#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3293#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3291#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3282#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3284#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3321#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3272#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 3273#L555 [2024-11-17 08:07:15,201 INFO L747 eck$LassoCheckResult]: Loop: 3273#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3336#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3335#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3317#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3281#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3275#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3276#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3278#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3334#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3333#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3332#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3331#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3330#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3329#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3328#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3327#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3326#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3325#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3324#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3323#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3319#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3322#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3320#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3318#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 3273#L555 [2024-11-17 08:07:15,201 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:15,201 INFO L85 PathProgramCache]: Analyzing trace with hash 1274944947, now seen corresponding path program 12 times [2024-11-17 08:07:15,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:15,201 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1335104476] [2024-11-17 08:07:15,201 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:15,201 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:15,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:16,071 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 24 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:16,071 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:16,071 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1335104476] [2024-11-17 08:07:16,071 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1335104476] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:16,072 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1951342802] [2024-11-17 08:07:16,072 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-17 08:07:16,072 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:16,072 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:16,073 INFO L229 MonitoredProcess]: Starting monitored process 66 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:16,075 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (66)] Waiting until timeout for monitored process [2024-11-17 08:07:16,304 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2024-11-17 08:07:16,305 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:07:16,307 INFO L255 TraceCheckSpWp]: Trace formula consists of 504 conjuncts, 45 conjuncts are in the unsatisfiable core [2024-11-17 08:07:16,311 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:16,327 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:16,369 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:07:16,410 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:07:16,450 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:07:16,487 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:16,562 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:16,588 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 38 [2024-11-17 08:07:16,666 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:16,715 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:16,766 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:16,834 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:16,883 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:16,927 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 27 [2024-11-17 08:07:16,929 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:16,958 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 22 proven. 198 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:16,959 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:17,199 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 37 [2024-11-17 08:07:17,410 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 22 proven. 198 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:17,410 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1951342802] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:17,410 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:17,410 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18, 18] total 42 [2024-11-17 08:07:17,410 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [686398277] [2024-11-17 08:07:17,410 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:17,411 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:17,411 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:17,411 INFO L85 PathProgramCache]: Analyzing trace with hash 2130169240, now seen corresponding path program 7 times [2024-11-17 08:07:17,411 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:17,411 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1619104051] [2024-11-17 08:07:17,411 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:17,411 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:17,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:17,421 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:17,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:17,432 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:18,604 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:07:18,605 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2024-11-17 08:07:18,605 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=257, Invalid=1549, Unknown=0, NotChecked=0, Total=1806 [2024-11-17 08:07:18,605 INFO L87 Difference]: Start difference. First operand 72 states and 75 transitions. cyclomatic complexity: 6 Second operand has 43 states, 42 states have (on average 2.8095238095238093) internal successors, (118), 43 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:19,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:07:19,132 INFO L93 Difference]: Finished difference Result 89 states and 92 transitions. [2024-11-17 08:07:19,132 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 89 states and 92 transitions. [2024-11-17 08:07:19,133 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2024-11-17 08:07:19,133 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 89 states to 86 states and 89 transitions. [2024-11-17 08:07:19,133 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2024-11-17 08:07:19,133 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2024-11-17 08:07:19,133 INFO L73 IsDeterministic]: Start isDeterministic. Operand 86 states and 89 transitions. [2024-11-17 08:07:19,133 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:19,133 INFO L218 hiAutomatonCegarLoop]: Abstraction has 86 states and 89 transitions. [2024-11-17 08:07:19,134 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states and 89 transitions. [2024-11-17 08:07:19,135 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 80. [2024-11-17 08:07:19,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 80 states have (on average 1.0375) internal successors, (83), 79 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:19,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 83 transitions. [2024-11-17 08:07:19,136 INFO L240 hiAutomatonCegarLoop]: Abstraction has 80 states and 83 transitions. [2024-11-17 08:07:19,136 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2024-11-17 08:07:19,136 INFO L425 stractBuchiCegarLoop]: Abstraction has 80 states and 83 transitions. [2024-11-17 08:07:19,136 INFO L332 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2024-11-17 08:07:19,136 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 80 states and 83 transitions. [2024-11-17 08:07:19,137 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2024-11-17 08:07:19,137 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:19,137 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:19,137 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 12, 12, 10, 2, 1, 1, 1, 1] [2024-11-17 08:07:19,137 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 7, 6, 1] [2024-11-17 08:07:19,137 INFO L745 eck$LassoCheckResult]: Stem: 3792#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 3793#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 3794#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 3803#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 3788#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3789#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3843#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3797#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3790#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3791#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3800#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3802#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3842#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3841#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3840#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3839#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3838#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3813#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3817#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3815#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3812#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3811#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3810#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3808#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 3809#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3837#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3836#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3835#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3834#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3833#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3832#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3831#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3830#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3829#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3828#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3827#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3826#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3825#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3824#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3823#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3822#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3821#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3820#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3819#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3818#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3806#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3816#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3814#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3805#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3807#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3848#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3795#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 3796#L555 [2024-11-17 08:07:19,138 INFO L747 eck$LassoCheckResult]: Loop: 3796#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3867#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3866#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3844#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3804#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3798#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3799#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3801#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3865#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3864#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3863#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3862#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3861#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3860#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3859#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3858#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3857#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3856#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3855#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3854#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3853#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3852#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3851#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3850#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 3846#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3849#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3847#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3845#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 3796#L555 [2024-11-17 08:07:19,138 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:19,138 INFO L85 PathProgramCache]: Analyzing trace with hash -1082521588, now seen corresponding path program 13 times [2024-11-17 08:07:19,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:19,138 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [30519578] [2024-11-17 08:07:19,138 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:19,138 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:19,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:20,269 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 18 proven. 246 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:20,270 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:20,270 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [30519578] [2024-11-17 08:07:20,270 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [30519578] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:20,270 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1968256325] [2024-11-17 08:07:20,270 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-17 08:07:20,270 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:20,270 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:20,275 INFO L229 MonitoredProcess]: Starting monitored process 67 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:20,278 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (67)] Waiting until timeout for monitored process [2024-11-17 08:07:20,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:20,455 INFO L255 TraceCheckSpWp]: Trace formula consists of 541 conjuncts, 56 conjuncts are in the unsatisfiable core [2024-11-17 08:07:20,458 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:20,461 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2024-11-17 08:07:20,469 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:20,497 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:20,526 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:20,590 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 28 [2024-11-17 08:07:20,630 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:20,702 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 31 [2024-11-17 08:07:20,744 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:20,753 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:20,762 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:20,770 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:20,813 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 29 [2024-11-17 08:07:20,821 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:20,823 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2024-11-17 08:07:20,826 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 0 proven. 263 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-17 08:07:20,826 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:20,955 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 18 [2024-11-17 08:07:21,081 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 20 [2024-11-17 08:07:21,106 INFO L134 CoverageAnalysis]: Checked inductivity of 264 backedges. 11 proven. 252 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-17 08:07:21,106 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1968256325] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:21,106 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:21,106 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 33 [2024-11-17 08:07:21,106 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [35220427] [2024-11-17 08:07:21,107 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:21,107 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:21,107 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:21,107 INFO L85 PathProgramCache]: Analyzing trace with hash 2090810737, now seen corresponding path program 8 times [2024-11-17 08:07:21,107 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:21,107 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1524007356] [2024-11-17 08:07:21,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:21,108 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:21,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:21,121 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:21,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:21,131 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:23,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:07:23,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2024-11-17 08:07:23,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1025, Unknown=0, NotChecked=0, Total=1122 [2024-11-17 08:07:23,108 INFO L87 Difference]: Start difference. First operand 80 states and 83 transitions. cyclomatic complexity: 6 Second operand has 34 states, 33 states have (on average 2.6363636363636362) internal successors, (87), 34 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) [2024-11-17 08:07:24,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:07:24,325 INFO L93 Difference]: Finished difference Result 118 states and 122 transitions. [2024-11-17 08:07:24,325 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 118 states and 122 transitions. [2024-11-17 08:07:24,326 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2024-11-17 08:07:24,326 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 118 states to 87 states and 90 transitions. [2024-11-17 08:07:24,326 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2024-11-17 08:07:24,326 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2024-11-17 08:07:24,326 INFO L73 IsDeterministic]: Start isDeterministic. Operand 87 states and 90 transitions. [2024-11-17 08:07:24,327 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:24,327 INFO L218 hiAutomatonCegarLoop]: Abstraction has 87 states and 90 transitions. [2024-11-17 08:07:24,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states and 90 transitions. [2024-11-17 08:07:24,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 84. [2024-11-17 08:07:24,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 84 states have (on average 1.0357142857142858) internal successors, (87), 83 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) [2024-11-17 08:07:24,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 87 transitions. [2024-11-17 08:07:24,329 INFO L240 hiAutomatonCegarLoop]: Abstraction has 84 states and 87 transitions. [2024-11-17 08:07:24,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2024-11-17 08:07:24,329 INFO L425 stractBuchiCegarLoop]: Abstraction has 84 states and 87 transitions. [2024-11-17 08:07:24,329 INFO L332 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2024-11-17 08:07:24,329 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 84 states and 87 transitions. [2024-11-17 08:07:24,330 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2024-11-17 08:07:24,330 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:24,330 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:24,330 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 13, 13, 11, 2, 1, 1, 1, 1] [2024-11-17 08:07:24,330 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 7, 6, 1] [2024-11-17 08:07:24,330 INFO L745 eck$LassoCheckResult]: Stem: 4399#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 4400#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 4401#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 4410#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 4395#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4396#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4454#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4404#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4397#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4398#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4407#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4409#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4453#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4452#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4451#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4450#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4449#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4448#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4447#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4446#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4445#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4420#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4444#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4422#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4419#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4418#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4417#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4415#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 4416#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4443#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4442#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4441#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4440#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4439#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4438#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4437#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4436#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4435#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4434#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4433#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4432#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4431#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4430#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4429#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4428#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4427#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4426#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4425#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4424#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4413#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4423#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4421#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4412#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4414#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4459#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4402#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 4403#L555 [2024-11-17 08:07:24,331 INFO L747 eck$LassoCheckResult]: Loop: 4403#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4478#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4477#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4455#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4411#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4405#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4406#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4408#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4476#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4475#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4474#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4473#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4472#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4471#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4470#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4469#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4468#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4467#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4466#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4465#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4464#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4463#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4462#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4461#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 4457#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4460#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4458#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4456#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 4403#L555 [2024-11-17 08:07:24,331 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:24,331 INFO L85 PathProgramCache]: Analyzing trace with hash -1890630043, now seen corresponding path program 14 times [2024-11-17 08:07:24,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:24,331 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550665145] [2024-11-17 08:07:24,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:24,331 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:24,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:25,289 INFO L134 CoverageAnalysis]: Checked inductivity of 312 backedges. 23 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:25,290 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:25,290 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [550665145] [2024-11-17 08:07:25,290 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [550665145] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:25,290 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [47311218] [2024-11-17 08:07:25,290 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-17 08:07:25,290 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:25,290 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:25,295 INFO L229 MonitoredProcess]: Starting monitored process 68 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:25,296 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Waiting until timeout for monitored process [2024-11-17 08:07:25,454 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-17 08:07:25,455 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:07:25,457 INFO L255 TraceCheckSpWp]: Trace formula consists of 578 conjuncts, 51 conjuncts are in the unsatisfiable core [2024-11-17 08:07:25,459 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:25,473 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:25,510 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:07:25,550 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:07:25,592 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:07:25,635 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:07:25,674 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:25,749 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:25,781 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 38 [2024-11-17 08:07:25,863 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:25,915 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:25,993 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:26,043 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:26,095 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:26,147 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 33 [2024-11-17 08:07:26,196 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 27 [2024-11-17 08:07:26,198 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:26,229 INFO L134 CoverageAnalysis]: Checked inductivity of 312 backedges. 37 proven. 275 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:26,230 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:26,502 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 37 [2024-11-17 08:07:26,760 INFO L134 CoverageAnalysis]: Checked inductivity of 312 backedges. 37 proven. 275 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:26,760 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [47311218] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:26,760 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:26,761 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20, 20] total 47 [2024-11-17 08:07:26,761 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1934129701] [2024-11-17 08:07:26,761 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:26,761 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:26,761 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:26,761 INFO L85 PathProgramCache]: Analyzing trace with hash 2090810737, now seen corresponding path program 9 times [2024-11-17 08:07:26,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:26,761 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1554546885] [2024-11-17 08:07:26,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:26,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:26,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:26,772 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:26,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:26,778 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:28,702 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:07:28,703 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2024-11-17 08:07:28,703 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=308, Invalid=1948, Unknown=0, NotChecked=0, Total=2256 [2024-11-17 08:07:28,704 INFO L87 Difference]: Start difference. First operand 84 states and 87 transitions. cyclomatic complexity: 6 Second operand has 48 states, 47 states have (on average 2.9361702127659575) internal successors, (138), 48 states have internal predecessors, (138), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:29,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:07:29,390 INFO L93 Difference]: Finished difference Result 101 states and 104 transitions. [2024-11-17 08:07:29,390 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 101 states and 104 transitions. [2024-11-17 08:07:29,391 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 32 [2024-11-17 08:07:29,391 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 101 states to 98 states and 101 transitions. [2024-11-17 08:07:29,391 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44 [2024-11-17 08:07:29,391 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2024-11-17 08:07:29,391 INFO L73 IsDeterministic]: Start isDeterministic. Operand 98 states and 101 transitions. [2024-11-17 08:07:29,391 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:29,391 INFO L218 hiAutomatonCegarLoop]: Abstraction has 98 states and 101 transitions. [2024-11-17 08:07:29,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states and 101 transitions. [2024-11-17 08:07:29,393 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 92. [2024-11-17 08:07:29,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 92 states have (on average 1.0326086956521738) internal successors, (95), 91 states have internal predecessors, (95), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:29,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 95 transitions. [2024-11-17 08:07:29,393 INFO L240 hiAutomatonCegarLoop]: Abstraction has 92 states and 95 transitions. [2024-11-17 08:07:29,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2024-11-17 08:07:29,394 INFO L425 stractBuchiCegarLoop]: Abstraction has 92 states and 95 transitions. [2024-11-17 08:07:29,394 INFO L332 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2024-11-17 08:07:29,394 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 92 states and 95 transitions. [2024-11-17 08:07:29,394 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 32 [2024-11-17 08:07:29,394 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:29,394 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:29,395 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [14, 14, 14, 12, 2, 1, 1, 1, 1] [2024-11-17 08:07:29,395 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 8, 7, 1] [2024-11-17 08:07:29,395 INFO L745 eck$LassoCheckResult]: Stem: 5005#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 5006#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 5007#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 5016#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 5001#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5002#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5064#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5010#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5003#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5004#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5013#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5015#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5063#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5062#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5061#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5060#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5059#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5058#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5057#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5056#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5055#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5026#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5030#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5028#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5025#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5024#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5023#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5021#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 5022#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5054#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5053#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5052#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5051#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5050#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5049#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5048#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5047#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5046#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5045#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5044#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5043#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5042#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5041#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5040#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5039#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5038#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5037#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5036#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5035#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5034#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5033#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5032#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5031#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5019#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5029#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5027#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5018#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5020#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5069#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5008#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 5009#L555 [2024-11-17 08:07:29,395 INFO L747 eck$LassoCheckResult]: Loop: 5009#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5092#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5091#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5065#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5017#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5011#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5012#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5014#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5090#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5089#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5088#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5087#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5086#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5085#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5084#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5083#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5082#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5081#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5080#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5079#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5078#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5077#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5076#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5075#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5074#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5073#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5072#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5071#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5067#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5070#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5068#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5066#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 5009#L555 [2024-11-17 08:07:29,395 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:29,396 INFO L85 PathProgramCache]: Analyzing trace with hash 801343422, now seen corresponding path program 15 times [2024-11-17 08:07:29,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:29,396 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1919534132] [2024-11-17 08:07:29,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:29,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:29,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:30,687 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 22 proven. 342 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-17 08:07:30,687 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:30,687 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1919534132] [2024-11-17 08:07:30,687 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1919534132] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:30,687 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1120337072] [2024-11-17 08:07:30,687 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-17 08:07:30,687 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:30,687 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:30,689 INFO L229 MonitoredProcess]: Starting monitored process 69 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:30,690 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Waiting until timeout for monitored process [2024-11-17 08:07:30,896 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2024-11-17 08:07:30,896 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:07:30,898 INFO L255 TraceCheckSpWp]: Trace formula consists of 504 conjuncts, 71 conjuncts are in the unsatisfiable core [2024-11-17 08:07:30,902 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:30,911 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:30,953 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:30,989 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 19 [2024-11-17 08:07:31,021 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:31,125 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-11-17 08:07:31,253 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 21 [2024-11-17 08:07:31,403 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 28 [2024-11-17 08:07:31,577 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 28 [2024-11-17 08:07:31,729 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 28 [2024-11-17 08:07:31,771 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 61 treesize of output 41 [2024-11-17 08:07:31,860 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 22 [2024-11-17 08:07:31,908 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 22 [2024-11-17 08:07:31,958 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 22 [2024-11-17 08:07:32,001 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 16 [2024-11-17 08:07:32,003 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 12 [2024-11-17 08:07:32,032 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 71 proven. 269 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2024-11-17 08:07:32,033 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:33,252 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 35 proven. 305 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2024-11-17 08:07:33,252 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1120337072] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:33,252 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:33,252 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 26, 26] total 69 [2024-11-17 08:07:33,252 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [190609705] [2024-11-17 08:07:33,252 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:33,253 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:33,253 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:33,253 INFO L85 PathProgramCache]: Analyzing trace with hash 1994987722, now seen corresponding path program 10 times [2024-11-17 08:07:33,253 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:33,253 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1145308923] [2024-11-17 08:07:33,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:33,253 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:33,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:33,264 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:33,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:33,273 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:07:36,498 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:07:36,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 70 interpolants. [2024-11-17 08:07:36,499 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=798, Invalid=4032, Unknown=0, NotChecked=0, Total=4830 [2024-11-17 08:07:36,499 INFO L87 Difference]: Start difference. First operand 92 states and 95 transitions. cyclomatic complexity: 6 Second operand has 70 states, 69 states have (on average 2.2028985507246377) internal successors, (152), 70 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) [2024-11-17 08:07:38,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:07:38,667 INFO L93 Difference]: Finished difference Result 178 states and 182 transitions. [2024-11-17 08:07:38,667 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 178 states and 182 transitions. [2024-11-17 08:07:38,668 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-17 08:07:38,669 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 178 states to 163 states and 167 transitions. [2024-11-17 08:07:38,669 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 68 [2024-11-17 08:07:38,669 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 68 [2024-11-17 08:07:38,669 INFO L73 IsDeterministic]: Start isDeterministic. Operand 163 states and 167 transitions. [2024-11-17 08:07:38,669 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:07:38,669 INFO L218 hiAutomatonCegarLoop]: Abstraction has 163 states and 167 transitions. [2024-11-17 08:07:38,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states and 167 transitions. [2024-11-17 08:07:38,670 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 132. [2024-11-17 08:07:38,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 132 states have (on average 1.0227272727272727) internal successors, (135), 131 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:07:38,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 135 transitions. [2024-11-17 08:07:38,671 INFO L240 hiAutomatonCegarLoop]: Abstraction has 132 states and 135 transitions. [2024-11-17 08:07:38,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 78 states. [2024-11-17 08:07:38,672 INFO L425 stractBuchiCegarLoop]: Abstraction has 132 states and 135 transitions. [2024-11-17 08:07:38,672 INFO L332 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2024-11-17 08:07:38,672 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 132 states and 135 transitions. [2024-11-17 08:07:38,672 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-17 08:07:38,672 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:07:38,672 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:07:38,673 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [19, 19, 19, 17, 2, 1, 1, 1, 1] [2024-11-17 08:07:38,673 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 13, 12, 1] [2024-11-17 08:07:38,673 INFO L745 eck$LassoCheckResult]: Stem: 5822#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 5823#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 5824#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 5833#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 5818#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5819#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5901#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5827#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5820#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5821#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5830#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5832#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5900#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5899#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5898#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5897#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5896#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5895#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5894#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5893#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5892#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5843#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5891#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5845#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5842#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5841#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5840#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5838#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 5839#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5890#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5889#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5888#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5887#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5886#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5885#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5884#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5883#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5882#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5881#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5880#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5879#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5878#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5877#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5876#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5875#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5874#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5873#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5872#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5871#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5870#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5869#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5868#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5867#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5866#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5865#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5864#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5863#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5862#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5861#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5860#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5859#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5858#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5857#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5856#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5855#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5854#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5853#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5852#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5851#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5850#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5849#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5848#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5847#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5836#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5846#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5844#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5835#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5837#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5906#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5825#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 5826#L555 [2024-11-17 08:07:38,674 INFO L747 eck$LassoCheckResult]: Loop: 5826#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5949#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5948#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5902#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5834#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5828#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5829#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5831#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5947#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5946#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5945#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5944#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5943#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5942#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5941#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5940#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5939#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5938#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5937#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5936#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5935#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5934#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5933#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5932#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5931#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5930#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5929#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5928#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5927#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5926#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5925#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5924#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5923#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5922#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5921#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5920#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5919#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5918#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5917#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5916#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5915#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5914#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5913#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5912#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5911#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5910#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5909#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5908#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 5904#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5907#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5905#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5903#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 5826#L555 [2024-11-17 08:07:38,674 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:38,674 INFO L85 PathProgramCache]: Analyzing trace with hash 620944123, now seen corresponding path program 16 times [2024-11-17 08:07:38,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:38,674 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1267704564] [2024-11-17 08:07:38,674 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:38,674 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:38,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:07:40,164 INFO L134 CoverageAnalysis]: Checked inductivity of 684 backedges. 4 proven. 620 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2024-11-17 08:07:40,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:07:40,165 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1267704564] [2024-11-17 08:07:40,165 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1267704564] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:07:40,165 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1639096735] [2024-11-17 08:07:40,165 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-17 08:07:40,165 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:07:40,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:07:40,167 INFO L229 MonitoredProcess]: Starting monitored process 70 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:07:40,168 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Waiting until timeout for monitored process [2024-11-17 08:07:40,366 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-17 08:07:40,367 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:07:40,370 INFO L255 TraceCheckSpWp]: Trace formula consists of 800 conjuncts, 64 conjuncts are in the unsatisfiable core [2024-11-17 08:07:40,374 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:07:40,376 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2024-11-17 08:07:40,383 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:40,390 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:40,399 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:40,406 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:07:40,438 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 28 [2024-11-17 08:07:40,470 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:40,527 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 31 [2024-11-17 08:07:40,557 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:40,567 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:40,574 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:40,580 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:40,587 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:07:40,621 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 29 [2024-11-17 08:07:40,627 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:07:40,629 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2024-11-17 08:07:40,630 INFO L134 CoverageAnalysis]: Checked inductivity of 684 backedges. 0 proven. 618 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2024-11-17 08:07:40,630 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:07:40,722 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 18 [2024-11-17 08:07:40,839 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 20 [2024-11-17 08:07:40,864 INFO L134 CoverageAnalysis]: Checked inductivity of 684 backedges. 36 proven. 582 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2024-11-17 08:07:40,864 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1639096735] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:07:40,864 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:07:40,864 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 30 [2024-11-17 08:07:40,864 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440181265] [2024-11-17 08:07:40,864 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:07:40,865 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:07:40,865 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:07:40,865 INFO L85 PathProgramCache]: Analyzing trace with hash -1579061753, now seen corresponding path program 11 times [2024-11-17 08:07:40,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:07:40,865 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [382794997] [2024-11-17 08:07:40,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:07:40,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:07:40,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:40,882 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:07:40,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:07:40,896 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-17 08:08:01,689 WARN L286 SmtUtils]: Spent 20.79s on a formula simplification. DAG size of input: 439 DAG size of output: 324 (called from [L 276] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaUtils.sequentialComposition) [2024-11-17 08:08:01,828 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-17 08:08:01,828 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2024-11-17 08:08:01,828 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=845, Unknown=0, NotChecked=0, Total=930 [2024-11-17 08:08:01,829 INFO L87 Difference]: Start difference. First operand 132 states and 135 transitions. cyclomatic complexity: 6 Second operand has 31 states, 30 states have (on average 2.6666666666666665) internal successors, (80), 31 states have internal predecessors, (80), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:08:02,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-17 08:08:02,768 INFO L93 Difference]: Finished difference Result 194 states and 198 transitions. [2024-11-17 08:08:02,768 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 194 states and 198 transitions. [2024-11-17 08:08:02,769 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-17 08:08:02,769 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 194 states to 139 states and 142 transitions. [2024-11-17 08:08:02,769 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 64 [2024-11-17 08:08:02,770 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 64 [2024-11-17 08:08:02,770 INFO L73 IsDeterministic]: Start isDeterministic. Operand 139 states and 142 transitions. [2024-11-17 08:08:02,770 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-17 08:08:02,770 INFO L218 hiAutomatonCegarLoop]: Abstraction has 139 states and 142 transitions. [2024-11-17 08:08:02,770 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states and 142 transitions. [2024-11-17 08:08:02,771 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 136. [2024-11-17 08:08:02,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 136 states have (on average 1.0220588235294117) internal successors, (139), 135 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-17 08:08:02,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 139 transitions. [2024-11-17 08:08:02,772 INFO L240 hiAutomatonCegarLoop]: Abstraction has 136 states and 139 transitions. [2024-11-17 08:08:02,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2024-11-17 08:08:02,773 INFO L425 stractBuchiCegarLoop]: Abstraction has 136 states and 139 transitions. [2024-11-17 08:08:02,773 INFO L332 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2024-11-17 08:08:02,773 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 136 states and 139 transitions. [2024-11-17 08:08:02,773 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-17 08:08:02,773 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-17 08:08:02,773 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-17 08:08:02,774 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [20, 20, 20, 18, 2, 1, 1, 1, 1] [2024-11-17 08:08:02,774 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 13, 12, 1] [2024-11-17 08:08:02,774 INFO L745 eck$LassoCheckResult]: Stem: 6704#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 6705#ULTIMATE.init_returnLabel#1 assume true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc2#1.base, main_#t~malloc2#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~nondet4#1, main_#t~nondet5#1, main_#t~mem6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~short9#1, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1, main_#t~mem12#1, main_#t~mem13#1, main_#t~nondet14#1, main_#t~short15#1, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, main_~id~0#1.base, main_~id~0#1.offset, main_~maxId~0#1.base, main_~maxId~0#1.offset;call main_#t~malloc2#1.base, main_#t~malloc2#1.offset := #Ultimate.allocOnStack(4);main_~id~0#1.base, main_~id~0#1.offset := main_#t~malloc2#1.base, main_#t~malloc2#1.offset;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnStack(4);main_~maxId~0#1.base, main_~maxId~0#1.offset := main_#t~malloc3#1.base, main_#t~malloc3#1.offset;havoc main_#t~nondet4#1;call write~int#2(main_#t~nondet4#1, main_~id~0#1.base, main_~id~0#1.offset, 4);havoc main_#t~nondet4#1;havoc main_#t~nondet5#1;call write~int#1(main_#t~nondet5#1, main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);havoc main_#t~nondet5#1;call main_#t~mem6#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 6706#L552-1 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 6715#L552 assume main_#t~short9#1;havoc main_#t~mem6#1;havoc main_#t~mem7#1;havoc main_#t~mem8#1;havoc main_#t~short9#1;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnStack(4);main_~tmp~0#1.base, main_~tmp~0#1.offset := main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);call write~int#0(1 + main_#t~mem11#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem11#1; 6700#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6701#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6787#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6709#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6702#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6703#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6712#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6714#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6786#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6785#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6784#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6783#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6782#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6781#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6780#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6779#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6778#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6777#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6776#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6775#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6774#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6725#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6773#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6727#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6724#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6723#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6722#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6720#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 6721#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6772#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6771#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6770#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6769#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6768#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6767#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6766#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6765#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6764#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6763#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6762#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6761#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6760#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6759#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6758#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6757#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6756#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6755#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6754#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6753#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6752#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6751#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6750#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6749#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6748#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6747#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6746#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6745#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6744#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6743#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6742#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6741#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6740#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6739#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6738#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6737#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6736#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6735#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6734#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6733#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6732#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6731#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6730#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6729#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6718#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6728#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6726#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6717#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6719#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6792#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6707#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 6708#L555 [2024-11-17 08:08:02,774 INFO L747 eck$LassoCheckResult]: Loop: 6708#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6835#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6834#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6788#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6716#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6710#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6711#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6713#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6833#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6832#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6831#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6830#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6829#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6828#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6827#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6826#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6825#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6824#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6823#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6822#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6821#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6820#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6819#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6818#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6817#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6816#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6815#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6814#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6813#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6812#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6811#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6810#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6809#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6808#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6807#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6806#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6805#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6804#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6803#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6802#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6801#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6800#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6799#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6798#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6797#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6796#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6795#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6794#L556 assume main_#t~mem16#1 < main_#t~mem17#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;call main_#t~mem18#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call write~int#0(1 + main_#t~mem18#1, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);havoc main_#t~mem18#1; 6790#L555 assume true;call main_#t~mem12#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem13#1 := read~int#2(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6793#L555-2 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6791#L555-1 assume !!main_#t~short15#1;havoc main_#t~mem12#1;havoc main_#t~mem13#1;havoc main_#t~nondet14#1;havoc main_#t~short15#1;call main_#t~mem16#1 := read~int#0(main_~tmp~0#1.base, main_~tmp~0#1.offset, 4);call main_#t~mem17#1 := read~int#1(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6789#L556 assume !(main_#t~mem16#1 < main_#t~mem17#1);havoc main_#t~mem16#1;havoc main_#t~mem17#1;call write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 6708#L555 [2024-11-17 08:08:02,775 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:08:02,775 INFO L85 PathProgramCache]: Analyzing trace with hash 1232439764, now seen corresponding path program 17 times [2024-11-17 08:08:02,775 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:08:02,775 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1750281251] [2024-11-17 08:08:02,775 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:08:02,775 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:08:02,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-17 08:08:04,375 INFO L134 CoverageAnalysis]: Checked inductivity of 760 backedges. 4 proven. 732 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2024-11-17 08:08:04,375 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-17 08:08:04,375 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1750281251] [2024-11-17 08:08:04,375 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1750281251] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-17 08:08:04,375 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [253645937] [2024-11-17 08:08:04,376 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-17 08:08:04,376 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-17 08:08:04,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-17 08:08:04,377 INFO L229 MonitoredProcess]: Starting monitored process 71 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-17 08:08:04,378 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Waiting until timeout for monitored process [2024-11-17 08:08:04,895 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 20 check-sat command(s) [2024-11-17 08:08:04,896 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-17 08:08:04,900 INFO L255 TraceCheckSpWp]: Trace formula consists of 837 conjuncts, 74 conjuncts are in the unsatisfiable core [2024-11-17 08:08:04,904 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-17 08:08:04,906 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2024-11-17 08:08:04,913 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:08:04,920 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:08:04,928 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:08:04,935 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:08:04,942 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2024-11-17 08:08:04,980 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 28 [2024-11-17 08:08:05,020 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:08:05,080 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 31 [2024-11-17 08:08:05,117 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:08:05,123 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:08:05,131 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:08:05,138 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:08:05,145 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:08:05,153 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 20 [2024-11-17 08:08:05,192 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 29 [2024-11-17 08:08:05,199 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2024-11-17 08:08:05,201 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2024-11-17 08:08:05,203 INFO L134 CoverageAnalysis]: Checked inductivity of 760 backedges. 0 proven. 715 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2024-11-17 08:08:05,203 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-17 08:08:05,314 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 18 [2024-11-17 08:08:05,450 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 20 [2024-11-17 08:08:05,483 INFO L134 CoverageAnalysis]: Checked inductivity of 760 backedges. 31 proven. 684 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2024-11-17 08:08:05,483 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [253645937] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-17 08:08:05,483 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-17 08:08:05,483 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 22, 22] total 33 [2024-11-17 08:08:05,484 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [533414958] [2024-11-17 08:08:05,484 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-17 08:08:05,484 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-17 08:08:05,484 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-17 08:08:05,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1579061753, now seen corresponding path program 12 times [2024-11-17 08:08:05,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-17 08:08:05,484 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1235781443] [2024-11-17 08:08:05,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-17 08:08:05,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-17 08:08:05,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:08:05,504 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-17 08:08:05,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-17 08:08:05,520 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace