./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 4f9af400 extending candidate: java ['java'] extending candidate: /usr/bin/java ['java', '/usr/bin/java'] extending candidate: /opt/oracle-jdk-bin-*/bin/java ['java', '/usr/bin/java'] extending candidate: /opt/openjdk-*/bin/java ['java', '/usr/bin/java'] extending candidate: /usr/lib/jvm/java-*-openjdk-amd64/bin/java ['java', '/usr/bin/java', '/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java', '/usr/lib/jvm/java-17-openjdk-amd64/bin/java', '/usr/lib/jvm/java-11-openjdk-amd64/bin/java', '/usr/lib/jvm/java-1.17.0-openjdk-amd64/bin/java'] ['/root/.sdkman/candidates/java/21.0.5-tem/bin/java', '-Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config', '-Xmx15G', '-Xms4m', '-jar', '/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar', '-data', '@noDefault', '-ultimatedata', '/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data', '-tc', '/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml', '-i', '../sv-benchmarks/c/termination-memory-alloca/GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i', '-s', '/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf', '--cacsl2boogietranslator.entry.function', 'main', '--witnessprinter.witness.directory', '/storage/repos/ultimate-jdk21/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) )\n\n', '--witnessprinter.graph.data.producer', 'Automizer', '--witnessprinter.graph.data.architecture', '64bit', '--witnessprinter.graph.data.programhash', '8fbd99b1bfb27b318d252229087f8d9132096866b72085e8874326b5a6d541b4'] Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/termination-memory-alloca/GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/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.3.0-?-4f9af40 [2024-11-07 23:51:17,714 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-07 23:51:17,786 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2024-11-07 23:51:17,791 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-07 23:51:17,792 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-07 23:51:17,815 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-07 23:51:17,817 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-07 23:51:17,817 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-07 23:51:17,818 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-07 23:51:17,818 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-07 23:51:17,819 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-07 23:51:17,819 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-07 23:51:17,819 INFO L153 SettingsManager]: * Use SBE=true [2024-11-07 23:51:17,819 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-07 23:51:17,819 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-07 23:51:17,819 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-07 23:51:17,819 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-07 23:51:17,819 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-07 23:51:17,820 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-07 23:51:17,820 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-07 23:51:17,820 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-07 23:51:17,820 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-07 23:51:17,820 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-07 23:51:17,821 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-07 23:51:17,821 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-07 23:51:17,821 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-07 23:51:17,821 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/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-07 23:51:18,033 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-07 23:51:18,038 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-07 23:51:18,039 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-07 23:51:18,040 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-07 23:51:18,040 INFO L274 PluginConnector]: CDTParser initialized [2024-11-07 23:51:18,041 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-memory-alloca/GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i [2024-11-07 23:51:19,105 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-07 23:51:19,321 INFO L384 CDTParser]: Found 1 translation units. [2024-11-07 23:51:19,321 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/termination-memory-alloca/GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i [2024-11-07 23:51:19,330 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/062e67a63/96ada5504b844647a816cc6b7bdeac65/FLAGcbc362112 [2024-11-07 23:51:19,339 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/062e67a63/96ada5504b844647a816cc6b7bdeac65 [2024-11-07 23:51:19,341 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-07 23:51:19,342 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-07 23:51:19,343 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-07 23:51:19,343 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-07 23:51:19,348 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-07 23:51:19,348 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,349 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4b12c1ac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19, skipping insertion in model container [2024-11-07 23:51:19,350 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,371 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-07 23:51:19,550 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-07 23:51:19,558 INFO L200 MainTranslator]: Completed pre-run [2024-11-07 23:51:19,584 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-07 23:51:19,603 INFO L204 MainTranslator]: Completed translation [2024-11-07 23:51:19,603 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19 WrapperNode [2024-11-07 23:51:19,604 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-07 23:51:19,605 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-07 23:51:19,605 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-07 23:51:19,605 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-07 23:51:19,608 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,615 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,627 INFO L138 Inliner]: procedures = 110, calls = 24, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 76 [2024-11-07 23:51:19,628 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-07 23:51:19,628 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-07 23:51:19,628 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-07 23:51:19,628 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-07 23:51:19,633 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,633 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,636 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,646 INFO L175 MemorySlicer]: Split 14 memory accesses to 3 slices as follows [6, 5, 3]. 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-07 23:51:19,646 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,646 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,649 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,651 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,651 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,652 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,653 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-07 23:51:19,653 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-07 23:51:19,653 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-07 23:51:19,653 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-07 23:51:19,654 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (1/1) ... [2024-11-07 23:51:19,659 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:19,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:19,680 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:19,683 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-11-07 23:51:19,700 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-07 23:51:19,700 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-07 23:51:19,701 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-11-07 23:51:19,701 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-07 23:51:19,701 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-07 23:51:19,701 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-11-07 23:51:19,701 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-11-07 23:51:19,701 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-11-07 23:51:19,701 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-07 23:51:19,701 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-07 23:51:19,789 INFO L238 CfgBuilder]: Building ICFG [2024-11-07 23:51:19,790 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-07 23:51:19,904 INFO L? ?]: Removed 11 outVars from TransFormulas that were not future-live. [2024-11-07 23:51:19,904 INFO L287 CfgBuilder]: Performing block encoding [2024-11-07 23:51:19,909 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-07 23:51:19,909 INFO L316 CfgBuilder]: Removed 1 assume(true) statements. [2024-11-07 23:51:19,909 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.11 11:51:19 BoogieIcfgContainer [2024-11-07 23:51:19,910 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-07 23:51:19,910 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-07 23:51:19,910 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-07 23:51:19,915 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-07 23:51:19,915 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-07 23:51:19,916 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 07.11 11:51:19" (1/3) ... [2024-11-07 23:51:19,916 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@192cb6ef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 07.11 11:51:19, skipping insertion in model container [2024-11-07 23:51:19,918 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-07 23:51:19,918 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.11 11:51:19" (2/3) ... [2024-11-07 23:51:19,918 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@192cb6ef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 07.11 11:51:19, skipping insertion in model container [2024-11-07 23:51:19,918 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-07 23:51:19,918 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.11 11:51:19" (3/3) ... [2024-11-07 23:51:19,919 INFO L332 chiAutomizerObserver]: Analyzing ICFG GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i [2024-11-07 23:51:19,960 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-11-07 23:51:19,960 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-11-07 23:51:19,960 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-07 23:51:19,960 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-07 23:51:19,960 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-07 23:51:19,960 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-11-07 23:51:19,960 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-07 23:51:19,960 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-07 23:51:19,963 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-07 23:51:19,972 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:19,973 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:19,973 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:19,975 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-07 23:51:19,975 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:19,975 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-07 23:51:19,976 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-07 23:51:19,976 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:19,976 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:19,976 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:19,976 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-07 23:51:19,977 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:19,981 INFO L745 eck$LassoCheckResult]: Stem: 12#$Ultimate##0true assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 7#L-1true 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 9#L552true assume !main_#t~short9#1; 10#L552-2true 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#1(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; 6#L556-2true [2024-11-07 23:51:19,981 INFO L747 eck$LassoCheckResult]: Loop: 6#L556-2true 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 13#L555-1true assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4#L555-3true 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5#L556true 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); 6#L556-2true [2024-11-07 23:51:19,984 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:19,985 INFO L85 PathProgramCache]: Analyzing trace with hash 925671, now seen corresponding path program 1 times [2024-11-07 23:51:19,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:19,989 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [901902496] [2024-11-07 23:51:19,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:19,990 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:20,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:20,145 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-07 23:51:20,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:20,146 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [901902496] [2024-11-07 23:51:20,146 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [901902496] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 23:51:20,146 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-07 23:51:20,146 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-07 23:51:20,147 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1093157617] [2024-11-07 23:51:20,148 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 23:51:20,151 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:20,151 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:20,151 INFO L85 PathProgramCache]: Analyzing trace with hash 1419305, now seen corresponding path program 1 times [2024-11-07 23:51:20,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:20,152 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [6413916] [2024-11-07 23:51:20,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:20,152 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:20,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:20,173 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:20,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:20,197 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:20,421 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:20,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-07 23:51:20,440 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-07 23:51:20,441 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-07 23:51:20,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:20,455 INFO L93 Difference]: Finished difference Result 14 states and 18 transitions. [2024-11-07 23:51:20,456 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 14 states and 18 transitions. [2024-11-07 23:51:20,457 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:20,460 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 14 states to 8 states and 10 transitions. [2024-11-07 23:51:20,460 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 8 [2024-11-07 23:51:20,460 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 8 [2024-11-07 23:51:20,461 INFO L73 IsDeterministic]: Start isDeterministic. Operand 8 states and 10 transitions. [2024-11-07 23:51:20,461 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-07 23:51:20,461 INFO L218 hiAutomatonCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-07 23:51:20,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states and 10 transitions. [2024-11-07 23:51:20,476 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2024-11-07 23:51:20,476 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-07 23:51:20,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 10 transitions. [2024-11-07 23:51:20,477 INFO L240 hiAutomatonCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-07 23:51:20,480 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-07 23:51:20,482 INFO L425 stractBuchiCegarLoop]: Abstraction has 8 states and 10 transitions. [2024-11-07 23:51:20,485 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-07 23:51:20,485 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 8 states and 10 transitions. [2024-11-07 23:51:20,485 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:20,485 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:20,485 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:20,486 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-07 23:51:20,486 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:20,486 INFO L745 eck$LassoCheckResult]: Stem: 40#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 41#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 43#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 36#L552-2 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#1(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; 37#L556-2 [2024-11-07 23:51:20,486 INFO L747 eck$LassoCheckResult]: Loop: 37#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 42#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 38#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 39#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); 37#L556-2 [2024-11-07 23:51:20,486 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:20,486 INFO L85 PathProgramCache]: Analyzing trace with hash 925609, now seen corresponding path program 1 times [2024-11-07 23:51:20,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:20,487 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [903774069] [2024-11-07 23:51:20,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:20,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:20,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:20,518 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:20,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:20,556 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:20,556 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:20,556 INFO L85 PathProgramCache]: Analyzing trace with hash 1419305, now seen corresponding path program 2 times [2024-11-07 23:51:20,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:20,556 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2059580226] [2024-11-07 23:51:20,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:20,556 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:20,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:20,565 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:20,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:20,570 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:20,570 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:20,570 INFO L85 PathProgramCache]: Analyzing trace with hash 121353169, now seen corresponding path program 1 times [2024-11-07 23:51:20,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:20,571 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [342875298] [2024-11-07 23:51:20,571 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:20,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:20,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:20,603 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:20,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:20,622 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:21,263 INFO L204 LassoAnalysis]: Preferences: [2024-11-07 23:51:21,264 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-07 23:51:21,264 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-07 23:51:21,264 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-07 23:51:21,265 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-07 23:51:21,265 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:21,265 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-07 23:51:21,265 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-07 23:51:21,265 INFO L132 ssoRankerPreferences]: Filename of dumped script: GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i_Iteration2_Lasso [2024-11-07 23:51:21,265 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-07 23:51:21,265 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-07 23:51:21,278 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,283 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,636 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,638 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,640 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,641 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,643 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,645 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,646 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,648 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,649 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,651 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,652 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,654 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,656 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,658 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,659 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,661 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,663 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,665 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:21,943 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-07 23:51:21,946 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-07 23:51:21,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:21,947 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:21,948 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:21,950 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2024-11-07 23:51:21,951 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-07 23:51:21,962 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:21,962 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:21,962 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:21,963 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:21,963 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:21,965 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:21,965 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:21,967 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:21,977 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2024-11-07 23:51:21,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:21,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:21,979 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:21,980 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2024-11-07 23:51:21,980 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-07 23:51:21,990 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:21,991 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:21,991 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:21,991 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:22,003 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:22,003 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:22,008 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:22,018 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2024-11-07 23:51:22,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:22,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:22,020 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:22,021 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2024-11-07 23:51:22,022 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-07 23:51:22,032 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:22,032 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:22,032 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:22,032 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:22,037 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:22,037 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:22,040 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:22,051 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2024-11-07 23:51:22,051 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:22,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:22,054 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:22,055 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2024-11-07 23:51:22,056 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-07 23:51:22,065 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:22,066 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:22,066 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:22,066 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:22,069 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:22,069 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:22,073 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:22,083 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2024-11-07 23:51:22,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:22,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:22,085 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:22,085 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2024-11-07 23:51:22,086 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-07 23:51:22,096 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:22,096 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:22,096 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:22,096 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:22,098 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:22,098 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:22,100 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:22,110 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:22,110 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:22,110 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:22,112 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:22,112 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2024-11-07 23:51:22,113 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-07 23:51:22,124 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:22,124 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:22,124 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-07 23:51:22,124 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:22,136 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-07 23:51:22,136 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-07 23:51:22,156 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-07 23:51:22,267 INFO L443 ModelExtractionUtils]: Simplification made 28 calls to the SMT solver. [2024-11-07 23:51:22,269 INFO L444 ModelExtractionUtils]: 3 out of 31 variables were initially zero. Simplification set additionally 20 variables to zero. [2024-11-07 23:51:22,270 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:22,270 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:22,272 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:22,273 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2024-11-07 23:51:22,274 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-07 23:51:22,287 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 4. [2024-11-07 23:51:22,287 INFO L474 LassoAnalysis]: Proved termination. [2024-11-07 23:51:22,287 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#1 ULTIMATE.start_main_~id~0#1.base) ULTIMATE.start_main_~id~0#1.offset)_1, v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) 0)_1) = -1*v_rep(select (select #memory_int#1 ULTIMATE.start_main_~id~0#1.base) ULTIMATE.start_main_~id~0#1.offset)_1 + 1*v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) 0)_1 Supporting invariants [-1*v_rep(select (select #memory_int#1 ULTIMATE.start_main_~id~0#1.base) ULTIMATE.start_main_~id~0#1.offset)_1 + 1*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_1 >= 0, 1*v_rep(select (select #memory_int#1 ULTIMATE.start_main_~id~0#1.base) ULTIMATE.start_main_~id~0#1.offset)_1 >= 0] [2024-11-07 23:51:22,299 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2024-11-07 23:51:22,368 INFO L156 tatePredicateManager]: 22 out of 25 supporting invariants were superfluous and have been removed [2024-11-07 23:51:22,376 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-07 23:51:22,377 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-07 23:51:22,377 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~tmp~0!base,]]] [2024-11-07 23:51:22,377 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#1 [2024-11-07 23:51:22,378 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#1,GLOBAL] [2024-11-07 23:51:22,378 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#1,GLOBAL],[IdentifierExpression[~id~0!base,]]] [2024-11-07 23:51:22,397 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:22,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:22,418 INFO L255 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 12 conjuncts are in the unsatisfiable core [2024-11-07 23:51:22,419 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:22,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:22,503 INFO L255 TraceCheckSpWp]: Trace formula consists of 43 conjuncts, 18 conjuncts are in the unsatisfiable core [2024-11-07 23:51:22,504 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:22,531 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:22,639 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-07 23:51:22,641 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.3 stem predicates 4 loop predicates [2024-11-07 23:51:22,642 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 8 states and 10 transitions. cyclomatic complexity: 3 Second operand has 7 states, 7 states have (on average 1.1428571428571428) internal successors, (8), 7 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-07 23:51:22,739 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 8 states and 10 transitions. cyclomatic complexity: 3. Second operand has 7 states, 7 states have (on average 1.1428571428571428) internal successors, (8), 7 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 18 states and 24 transitions. Complement of second has 11 states. [2024-11-07 23:51:22,740 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 7 states 3 stem states 3 non-accepting loop states 1 accepting loop states [2024-11-07 23:51:22,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.1428571428571428) internal successors, (8), 7 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-07 23:51:22,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 10 transitions. [2024-11-07 23:51:22,743 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 10 transitions. Stem has 4 letters. Loop has 4 letters. [2024-11-07 23:51:22,743 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:22,743 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 10 transitions. Stem has 8 letters. Loop has 4 letters. [2024-11-07 23:51:22,744 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:22,744 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 10 transitions. Stem has 4 letters. Loop has 8 letters. [2024-11-07 23:51:22,744 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:22,744 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18 states and 24 transitions. [2024-11-07 23:51:22,744 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:22,745 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18 states to 18 states and 24 transitions. [2024-11-07 23:51:22,746 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2024-11-07 23:51:22,746 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13 [2024-11-07 23:51:22,747 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18 states and 24 transitions. [2024-11-07 23:51:22,747 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:22,747 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18 states and 24 transitions. [2024-11-07 23:51:22,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18 states and 24 transitions. [2024-11-07 23:51:22,748 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18 to 16. [2024-11-07 23:51:22,748 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-07 23:51:22,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 22 transitions. [2024-11-07 23:51:22,748 INFO L240 hiAutomatonCegarLoop]: Abstraction has 16 states and 22 transitions. [2024-11-07 23:51:22,748 INFO L425 stractBuchiCegarLoop]: Abstraction has 16 states and 22 transitions. [2024-11-07 23:51:22,748 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-07 23:51:22,748 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 16 states and 22 transitions. [2024-11-07 23:51:22,749 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:22,749 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:22,749 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:22,750 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-07 23:51:22,750 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:22,750 INFO L745 eck$LassoCheckResult]: Stem: 236#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 237#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 238#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 225#L552-2 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#1(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; 226#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 235#L555-1 assume !main_#t~short15#1; 227#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 228#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; 231#L556-2 [2024-11-07 23:51:22,750 INFO L747 eck$LassoCheckResult]: Loop: 231#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 233#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 240#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 239#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); 231#L556-2 [2024-11-07 23:51:22,751 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:22,754 INFO L85 PathProgramCache]: Analyzing trace with hash 121355089, now seen corresponding path program 1 times [2024-11-07 23:51:22,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:22,754 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [838283789] [2024-11-07 23:51:22,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:22,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:22,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:22,804 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-07 23:51:22,805 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:22,805 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [838283789] [2024-11-07 23:51:22,805 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [838283789] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-07 23:51:22,805 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-07 23:51:22,805 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-07 23:51:22,806 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1087124944] [2024-11-07 23:51:22,806 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-07 23:51:22,806 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:22,806 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:22,807 INFO L85 PathProgramCache]: Analyzing trace with hash 1419305, now seen corresponding path program 3 times [2024-11-07 23:51:22,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:22,807 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1048497483] [2024-11-07 23:51:22,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:22,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:22,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:22,814 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:22,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:22,819 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:22,930 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:22,930 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-07 23:51:22,930 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-07 23:51:22,930 INFO L87 Difference]: Start difference. First operand 16 states and 22 transitions. cyclomatic complexity: 8 Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 3 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-07 23:51:22,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:22,936 INFO L93 Difference]: Finished difference Result 19 states and 22 transitions. [2024-11-07 23:51:22,936 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 19 states and 22 transitions. [2024-11-07 23:51:22,937 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:22,937 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 19 states to 16 states and 19 transitions. [2024-11-07 23:51:22,937 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2024-11-07 23:51:22,937 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2024-11-07 23:51:22,938 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16 states and 19 transitions. [2024-11-07 23:51:22,938 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:22,938 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16 states and 19 transitions. [2024-11-07 23:51:22,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16 states and 19 transitions. [2024-11-07 23:51:22,938 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16 to 16. [2024-11-07 23:51:22,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.1875) internal successors, (19), 15 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:22,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 19 transitions. [2024-11-07 23:51:22,938 INFO L240 hiAutomatonCegarLoop]: Abstraction has 16 states and 19 transitions. [2024-11-07 23:51:22,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-07 23:51:22,941 INFO L425 stractBuchiCegarLoop]: Abstraction has 16 states and 19 transitions. [2024-11-07 23:51:22,941 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-07 23:51:22,941 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 16 states and 19 transitions. [2024-11-07 23:51:22,941 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:22,941 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:22,941 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:22,941 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-07 23:51:22,941 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:22,941 INFO L745 eck$LassoCheckResult]: Stem: 277#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 278#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 279#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 266#L552-2 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#1(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; 267#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 276#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 268#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 269#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; 272#L556-2 [2024-11-07 23:51:22,942 INFO L747 eck$LassoCheckResult]: Loop: 272#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 274#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 281#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 280#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); 272#L556-2 [2024-11-07 23:51:22,942 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:22,942 INFO L85 PathProgramCache]: Analyzing trace with hash 121353167, now seen corresponding path program 1 times [2024-11-07 23:51:22,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:22,942 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1340260982] [2024-11-07 23:51:22,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:22,942 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:22,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:22,959 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:22,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:22,978 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:22,978 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:22,978 INFO L85 PathProgramCache]: Analyzing trace with hash 1419305, now seen corresponding path program 4 times [2024-11-07 23:51:22,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:22,978 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [654151909] [2024-11-07 23:51:22,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:22,979 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:22,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:22,984 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:22,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:22,990 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:22,992 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:22,992 INFO L85 PathProgramCache]: Analyzing trace with hash -677985033, now seen corresponding path program 1 times [2024-11-07 23:51:22,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:22,992 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1087188408] [2024-11-07 23:51:22,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:22,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:23,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:23,013 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:23,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:23,045 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:23,746 INFO L204 LassoAnalysis]: Preferences: [2024-11-07 23:51:23,746 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-07 23:51:23,746 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-07 23:51:23,746 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-07 23:51:23,746 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-07 23:51:23,746 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:23,746 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-07 23:51:23,746 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-07 23:51:23,746 INFO L132 ssoRankerPreferences]: Filename of dumped script: GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i_Iteration4_Lasso [2024-11-07 23:51:23,746 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-07 23:51:23,746 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-07 23:51:23,749 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,752 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,753 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,755 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,756 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,758 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,759 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,761 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,762 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,763 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:23,765 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,063 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,065 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,067 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,068 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,070 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,071 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,072 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,074 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,076 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:24,297 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-07 23:51:24,298 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-07 23:51:24,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,300 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,301 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2024-11-07 23:51:24,301 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-07 23:51:24,311 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,311 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,311 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,311 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,311 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,312 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,312 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,313 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,322 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2024-11-07 23:51:24,323 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,323 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,324 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,325 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2024-11-07 23:51:24,326 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-07 23:51:24,335 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,335 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,335 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,335 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,335 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,335 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,335 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,337 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,347 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Ended with exit code 0 [2024-11-07 23:51:24,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,348 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,349 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2024-11-07 23:51:24,350 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-07 23:51:24,359 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,359 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,359 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,359 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,359 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,360 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,360 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,361 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,370 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Ended with exit code 0 [2024-11-07 23:51:24,371 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,371 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,372 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,373 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2024-11-07 23:51:24,373 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-07 23:51:24,383 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,383 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,383 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,383 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,383 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,383 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,383 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,384 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,394 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Ended with exit code 0 [2024-11-07 23:51:24,394 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,394 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,395 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,396 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2024-11-07 23:51:24,397 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-07 23:51:24,406 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,406 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,406 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,406 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,406 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,407 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,407 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,408 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,417 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Ended with exit code 0 [2024-11-07 23:51:24,417 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,417 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,419 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2024-11-07 23:51:24,420 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-07 23:51:24,430 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,430 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,430 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,430 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,430 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,430 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,430 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,431 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,441 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Ended with exit code 0 [2024-11-07 23:51:24,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,442 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,443 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2024-11-07 23:51:24,443 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-07 23:51:24,452 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,453 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,453 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,453 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,454 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:24,454 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:24,456 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,466 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Ended with exit code 0 [2024-11-07 23:51:24,466 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,466 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,468 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,469 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2024-11-07 23:51:24,470 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-07 23:51:24,480 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,480 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,480 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,480 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,480 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,480 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,480 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,482 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,492 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:24,492 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,494 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,496 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2024-11-07 23:51:24,498 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-07 23:51:24,507 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,507 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,507 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,507 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,507 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,508 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,508 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,509 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,518 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Ended with exit code 0 [2024-11-07 23:51:24,518 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,518 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,520 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,521 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2024-11-07 23:51:24,521 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-07 23:51:24,531 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,531 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:24,531 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,531 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,531 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,532 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:24,532 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:24,533 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,542 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Ended with exit code 0 [2024-11-07 23:51:24,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,544 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,545 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2024-11-07 23:51:24,545 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-07 23:51:24,555 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,555 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,555 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,555 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,557 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:24,557 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:24,560 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,570 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:24,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,572 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,573 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2024-11-07 23:51:24,574 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-07 23:51:24,584 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,584 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,584 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,584 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,586 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:24,586 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:24,591 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,601 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:24,601 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,601 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,603 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,604 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2024-11-07 23:51:24,605 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-07 23:51:24,615 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,615 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,615 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:24,615 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,618 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:24,618 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:24,624 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:24,634 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:24,635 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,635 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,636 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,638 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2024-11-07 23:51:24,638 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-07 23:51:24,648 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:24,648 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:24,648 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-07 23:51:24,648 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:24,657 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-07 23:51:24,657 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-07 23:51:24,677 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-07 23:51:24,723 INFO L443 ModelExtractionUtils]: Simplification made 22 calls to the SMT solver. [2024-11-07 23:51:24,724 INFO L444 ModelExtractionUtils]: 5 out of 31 variables were initially zero. Simplification set additionally 19 variables to zero. [2024-11-07 23:51:24,724 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:24,724 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:24,725 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:24,726 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2024-11-07 23:51:24,726 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-07 23:51:24,738 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 4. [2024-11-07 23:51:24,738 INFO L474 LassoAnalysis]: Proved termination. [2024-11-07 23:51:24,738 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) 0)_2, v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_2) = 2*v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) 0)_2 - 2*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_2 + 1 Supporting invariants [1*v_rep(select (select #memory_int#1 ULTIMATE.start_main_~id~0#1.base) ULTIMATE.start_main_~id~0#1.offset)_2 >= 0, 2*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_2 - 1*v_rep(select (select #memory_int#1 ULTIMATE.start_main_~id~0#1.base) ULTIMATE.start_main_~id~0#1.offset)_2 >= 0] [2024-11-07 23:51:24,749 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Ended with exit code 0 [2024-11-07 23:51:24,800 INFO L156 tatePredicateManager]: 22 out of 25 supporting invariants were superfluous and have been removed [2024-11-07 23:51:24,804 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#2 [2024-11-07 23:51:24,804 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#2,GLOBAL] [2024-11-07 23:51:24,804 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#2,GLOBAL],[IdentifierExpression[~maxId~0!base,]]] [2024-11-07 23:51:24,804 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-07 23:51:24,804 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-07 23:51:24,804 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~tmp~0!base,]]] [2024-11-07 23:51:24,833 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:24,852 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Ended with exit code 0 [2024-11-07 23:51:24,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:24,861 INFO L255 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 14 conjuncts are in the unsatisfiable core [2024-11-07 23:51:24,862 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:24,915 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-07 23:51:24,954 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-07 23:51:24,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:24,985 INFO L255 TraceCheckSpWp]: Trace formula consists of 43 conjuncts, 18 conjuncts are in the unsatisfiable core [2024-11-07 23:51:24,986 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:25,087 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-07 23:51:25,087 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.5 stem predicates 4 loop predicates [2024-11-07 23:51:25,087 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 16 states and 19 transitions. cyclomatic complexity: 5 Second operand has 9 states, 9 states have (on average 1.3333333333333333) internal successors, (12), 9 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-07 23:51:25,221 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 16 states and 19 transitions. cyclomatic complexity: 5. Second operand has 9 states, 9 states have (on average 1.3333333333333333) internal successors, (12), 9 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 32 states and 37 transitions. Complement of second has 14 states. [2024-11-07 23:51:25,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 5 stem states 3 non-accepting loop states 2 accepting loop states [2024-11-07 23:51:25,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 1.3333333333333333) internal successors, (12), 9 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-07 23:51:25,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 18 transitions. [2024-11-07 23:51:25,222 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 18 transitions. Stem has 8 letters. Loop has 4 letters. [2024-11-07 23:51:25,223 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:25,223 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 18 transitions. Stem has 12 letters. Loop has 4 letters. [2024-11-07 23:51:25,223 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:25,223 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 18 transitions. Stem has 8 letters. Loop has 8 letters. [2024-11-07 23:51:25,223 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:25,223 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32 states and 37 transitions. [2024-11-07 23:51:25,223 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:25,224 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32 states to 32 states and 37 transitions. [2024-11-07 23:51:25,224 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19 [2024-11-07 23:51:25,224 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 21 [2024-11-07 23:51:25,224 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32 states and 37 transitions. [2024-11-07 23:51:25,224 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:25,224 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32 states and 37 transitions. [2024-11-07 23:51:25,224 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states and 37 transitions. [2024-11-07 23:51:25,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 20. [2024-11-07 23:51:25,225 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-07 23:51:25,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 24 transitions. [2024-11-07 23:51:25,225 INFO L240 hiAutomatonCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-11-07 23:51:25,225 INFO L425 stractBuchiCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-11-07 23:51:25,225 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-07 23:51:25,225 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 20 states and 24 transitions. [2024-11-07 23:51:25,226 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:25,226 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:25,226 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:25,227 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1] [2024-11-07 23:51:25,227 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:25,227 INFO L745 eck$LassoCheckResult]: Stem: 511#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 512#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 513#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 500#L552-2 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#1(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; 501#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 517#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 516#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 515#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; 514#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 510#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 502#L555-3 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#2(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; 506#L556-2 [2024-11-07 23:51:25,227 INFO L747 eck$LassoCheckResult]: Loop: 506#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 508#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 519#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 518#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); 506#L556-2 [2024-11-07 23:51:25,227 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:25,227 INFO L85 PathProgramCache]: Analyzing trace with hash -677985035, now seen corresponding path program 2 times [2024-11-07 23:51:25,227 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:25,228 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1021366626] [2024-11-07 23:51:25,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:25,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:25,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:25,246 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:25,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:25,257 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:25,257 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:25,257 INFO L85 PathProgramCache]: Analyzing trace with hash 1419305, now seen corresponding path program 5 times [2024-11-07 23:51:25,257 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:25,257 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1143947795] [2024-11-07 23:51:25,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:25,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:25,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:25,262 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:25,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:25,268 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:25,269 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:25,269 INFO L85 PathProgramCache]: Analyzing trace with hash -199699683, now seen corresponding path program 2 times [2024-11-07 23:51:25,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:25,269 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1127757551] [2024-11-07 23:51:25,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:25,269 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:25,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:25,287 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:25,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:25,302 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:26,306 INFO L204 LassoAnalysis]: Preferences: [2024-11-07 23:51:26,306 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-07 23:51:26,306 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-07 23:51:26,306 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-07 23:51:26,306 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-07 23:51:26,306 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,306 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-07 23:51:26,306 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-07 23:51:26,306 INFO L132 ssoRankerPreferences]: Filename of dumped script: GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i_Iteration5_Lasso [2024-11-07 23:51:26,306 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-07 23:51:26,306 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-07 23:51:26,308 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,311 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,312 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,318 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,319 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,320 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,322 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,323 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,324 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,329 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,330 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,331 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,334 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,336 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,337 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,338 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,339 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,340 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,342 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,343 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:26,827 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-07 23:51:26,827 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-07 23:51:26,827 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,827 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:26,829 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:26,830 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2024-11-07 23:51:26,831 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-07 23:51:26,841 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:26,841 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:26,841 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:26,841 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:26,841 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:26,842 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:26,842 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:26,842 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:26,852 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Ended with exit code 0 [2024-11-07 23:51:26,852 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,852 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:26,854 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:26,854 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2024-11-07 23:51:26,855 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-07 23:51:26,864 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:26,864 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:26,864 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:26,864 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:26,864 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:26,865 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:26,865 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:26,866 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:26,875 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:26,876 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,876 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:26,877 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:26,878 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2024-11-07 23:51:26,878 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-07 23:51:26,888 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:26,888 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:26,888 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:26,888 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:26,888 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:26,888 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:26,888 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:26,889 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:26,899 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Ended with exit code 0 [2024-11-07 23:51:26,899 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,899 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:26,901 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:26,901 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2024-11-07 23:51:26,902 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-07 23:51:26,911 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:26,911 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:26,911 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:26,911 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:26,911 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:26,912 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:26,912 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:26,912 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:26,922 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Ended with exit code 0 [2024-11-07 23:51:26,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:26,923 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:26,924 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2024-11-07 23:51:26,925 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-07 23:51:26,934 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:26,935 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:26,935 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:26,935 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:26,935 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:26,935 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:26,935 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:26,936 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:26,945 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:26,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,945 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:26,947 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:26,948 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2024-11-07 23:51:26,949 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-07 23:51:26,958 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:26,958 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:26,958 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:26,958 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:26,958 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:26,958 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:26,958 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:26,959 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:26,968 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:26,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,969 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:26,970 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:26,971 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Waiting until timeout for monitored process [2024-11-07 23:51:26,972 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-07 23:51:26,981 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:26,981 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:26,981 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:26,981 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:26,981 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:26,981 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:26,981 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:26,982 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:26,992 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Ended with exit code 0 [2024-11-07 23:51:26,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:26,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:26,993 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:26,994 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Waiting until timeout for monitored process [2024-11-07 23:51:26,994 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-07 23:51:27,004 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,004 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,004 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,004 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,005 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:27,005 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:27,008 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,018 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Ended with exit code 0 [2024-11-07 23:51:27,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,018 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,020 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,020 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Waiting until timeout for monitored process [2024-11-07 23:51:27,021 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-07 23:51:27,031 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,031 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,031 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,031 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,031 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,031 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,031 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,032 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,041 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Ended with exit code 0 [2024-11-07 23:51:27,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,043 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,044 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Waiting until timeout for monitored process [2024-11-07 23:51:27,044 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-07 23:51:27,054 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,054 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,054 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,054 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,054 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,054 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,054 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,055 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,064 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Ended with exit code 0 [2024-11-07 23:51:27,064 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,064 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,066 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,067 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Waiting until timeout for monitored process [2024-11-07 23:51:27,067 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-07 23:51:27,077 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,077 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,077 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,077 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,077 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,077 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,077 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,078 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,087 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Ended with exit code 0 [2024-11-07 23:51:27,087 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,089 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,089 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Waiting until timeout for monitored process [2024-11-07 23:51:27,090 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-07 23:51:27,099 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,099 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,099 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,099 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,100 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,100 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,100 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,101 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,110 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Ended with exit code 0 [2024-11-07 23:51:27,110 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,110 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,134 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,135 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Waiting until timeout for monitored process [2024-11-07 23:51:27,136 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-07 23:51:27,145 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,145 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,145 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,145 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,145 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,145 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,145 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,146 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,155 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Ended with exit code 0 [2024-11-07 23:51:27,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,157 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,158 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Waiting until timeout for monitored process [2024-11-07 23:51:27,159 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-07 23:51:27,168 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,168 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,168 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,168 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,169 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:27,169 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:27,171 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,181 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Ended with exit code 0 [2024-11-07 23:51:27,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,182 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,183 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Waiting until timeout for monitored process [2024-11-07 23:51:27,183 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-07 23:51:27,193 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,193 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,193 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,193 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,193 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,193 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,193 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,194 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,204 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Ended with exit code 0 [2024-11-07 23:51:27,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,204 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,206 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,212 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Waiting until timeout for monitored process [2024-11-07 23:51:27,212 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-07 23:51:27,222 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,222 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,222 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,222 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,222 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,222 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,222 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,223 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,233 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Ended with exit code 0 [2024-11-07 23:51:27,233 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,233 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,235 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,236 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Waiting until timeout for monitored process [2024-11-07 23:51:27,237 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-07 23:51:27,246 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,246 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,246 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,246 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,246 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,246 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,246 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,247 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,257 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:27,257 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,259 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,259 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Waiting until timeout for monitored process [2024-11-07 23:51:27,260 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-07 23:51:27,269 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,269 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:27,269 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,269 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,269 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,270 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:27,270 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:27,270 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,280 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Ended with exit code 0 [2024-11-07 23:51:27,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,280 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,281 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,282 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Waiting until timeout for monitored process [2024-11-07 23:51:27,283 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-07 23:51:27,292 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,292 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,292 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,292 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,293 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:27,293 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:27,296 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,305 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Ended with exit code 0 [2024-11-07 23:51:27,306 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,306 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,308 INFO L229 MonitoredProcess]: Starting monitored process 43 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,308 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Waiting until timeout for monitored process [2024-11-07 23:51:27,309 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-07 23:51:27,318 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,318 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,318 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,318 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,321 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:27,321 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:27,324 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,335 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:27,335 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,335 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,336 INFO L229 MonitoredProcess]: Starting monitored process 44 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,338 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Waiting until timeout for monitored process [2024-11-07 23:51:27,339 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-07 23:51:27,348 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,348 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,348 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:27,348 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,350 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:27,350 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:27,353 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:27,362 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Ended with exit code 0 [2024-11-07 23:51:27,363 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,363 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,364 INFO L229 MonitoredProcess]: Starting monitored process 45 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,365 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Waiting until timeout for monitored process [2024-11-07 23:51:27,365 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-07 23:51:27,375 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:27,375 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:27,375 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-07 23:51:27,375 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:27,380 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-07 23:51:27,380 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-07 23:51:27,394 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-07 23:51:27,425 INFO L443 ModelExtractionUtils]: Simplification made 18 calls to the SMT solver. [2024-11-07 23:51:27,425 INFO L444 ModelExtractionUtils]: 6 out of 26 variables were initially zero. Simplification set additionally 10 variables to zero. [2024-11-07 23:51:27,425 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:27,425 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:27,427 INFO L229 MonitoredProcess]: Starting monitored process 46 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:27,427 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Waiting until timeout for monitored process [2024-11-07 23:51:27,428 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-07 23:51:27,440 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 4. [2024-11-07 23:51:27,440 INFO L474 LassoAnalysis]: Proved termination. [2024-11-07 23:51:27,440 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_3) = 1*v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_3 Supporting invariants [1*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_3 - 2 >= 0, 1*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) 0)_1 - 2 >= 0] [2024-11-07 23:51:27,450 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Ended with exit code 0 [2024-11-07 23:51:27,487 INFO L156 tatePredicateManager]: 22 out of 24 supporting invariants were superfluous and have been removed [2024-11-07 23:51:27,489 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-07 23:51:27,489 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-07 23:51:27,489 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~tmp~0!base,]]] [2024-11-07 23:51:27,506 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:27,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:27,530 INFO L255 TraceCheckSpWp]: Trace formula consists of 171 conjuncts, 19 conjuncts are in the unsatisfiable core [2024-11-07 23:51:27,531 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:27,543 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-07 23:51:27,572 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-07 23:51:27,576 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-07 23:51:27,606 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 36 treesize of output 13 [2024-11-07 23:51:27,632 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-07 23:51:27,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:27,653 INFO L255 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 11 conjuncts are in the unsatisfiable core [2024-11-07 23:51:27,654 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:27,690 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-07 23:51:27,691 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.6 stem predicates 2 loop predicates [2024-11-07 23:51:27,691 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 6 Second operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:27,742 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 6. Second operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 34 states and 39 transitions. Complement of second has 6 states. [2024-11-07 23:51:27,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 4 stem states 0 non-accepting loop states 1 accepting loop states [2024-11-07 23:51:27,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:27,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 14 transitions. [2024-11-07 23:51:27,743 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 14 transitions. Stem has 12 letters. Loop has 4 letters. [2024-11-07 23:51:27,743 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:27,743 INFO L682 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2024-11-07 23:51:27,759 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:27,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:27,785 INFO L255 TraceCheckSpWp]: Trace formula consists of 171 conjuncts, 19 conjuncts are in the unsatisfiable core [2024-11-07 23:51:27,787 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:27,808 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-07 23:51:27,836 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-07 23:51:27,839 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-07 23:51:27,861 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 36 treesize of output 13 [2024-11-07 23:51:27,883 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Ended with exit code 0 [2024-11-07 23:51:27,897 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-07 23:51:27,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:27,915 INFO L255 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 11 conjuncts are in the unsatisfiable core [2024-11-07 23:51:27,916 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:27,954 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-07 23:51:27,955 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.6 stem predicates 2 loop predicates [2024-11-07 23:51:27,955 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 6 Second operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:28,001 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 6. Second operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 34 states and 39 transitions. Complement of second has 6 states. [2024-11-07 23:51:28,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 4 stem states 0 non-accepting loop states 1 accepting loop states [2024-11-07 23:51:28,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:28,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 14 transitions. [2024-11-07 23:51:28,002 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 14 transitions. Stem has 12 letters. Loop has 4 letters. [2024-11-07 23:51:28,002 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:28,002 INFO L682 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2024-11-07 23:51:28,021 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:28,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:28,044 INFO L255 TraceCheckSpWp]: Trace formula consists of 171 conjuncts, 19 conjuncts are in the unsatisfiable core [2024-11-07 23:51:28,045 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:28,053 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-07 23:51:28,085 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-07 23:51:28,087 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-07 23:51:28,110 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 36 treesize of output 13 [2024-11-07 23:51:28,136 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-07 23:51:28,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:28,160 INFO L255 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 11 conjuncts are in the unsatisfiable core [2024-11-07 23:51:28,161 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:28,191 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-07 23:51:28,192 INFO L141 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.6 stem predicates 2 loop predicates [2024-11-07 23:51:28,192 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 6 Second operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:28,326 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 6. Second operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 45 states and 51 transitions. Complement of second has 18 states. [2024-11-07 23:51:28,327 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 6 stem states 2 non-accepting loop states 2 accepting loop states [2024-11-07 23:51:28,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 1.7777777777777777) internal successors, (16), 9 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:28,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 26 transitions. [2024-11-07 23:51:28,327 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 26 transitions. Stem has 12 letters. Loop has 4 letters. [2024-11-07 23:51:28,327 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:28,327 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 26 transitions. Stem has 16 letters. Loop has 4 letters. [2024-11-07 23:51:28,328 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:28,328 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 26 transitions. Stem has 12 letters. Loop has 8 letters. [2024-11-07 23:51:28,328 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:28,328 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 45 states and 51 transitions. [2024-11-07 23:51:28,329 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 10 [2024-11-07 23:51:28,330 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 45 states to 45 states and 51 transitions. [2024-11-07 23:51:28,330 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 24 [2024-11-07 23:51:28,330 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2024-11-07 23:51:28,330 INFO L73 IsDeterministic]: Start isDeterministic. Operand 45 states and 51 transitions. [2024-11-07 23:51:28,330 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:28,330 INFO L218 hiAutomatonCegarLoop]: Abstraction has 45 states and 51 transitions. [2024-11-07 23:51:28,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states and 51 transitions. [2024-11-07 23:51:28,331 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 19. [2024-11-07 23:51:28,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 18 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-07 23:51:28,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 22 transitions. [2024-11-07 23:51:28,331 INFO L240 hiAutomatonCegarLoop]: Abstraction has 19 states and 22 transitions. [2024-11-07 23:51:28,331 INFO L425 stractBuchiCegarLoop]: Abstraction has 19 states and 22 transitions. [2024-11-07 23:51:28,331 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-07 23:51:28,331 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 19 states and 22 transitions. [2024-11-07 23:51:28,331 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 8 [2024-11-07 23:51:28,331 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:28,331 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:28,331 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2024-11-07 23:51:28,331 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:28,331 INFO L745 eck$LassoCheckResult]: Stem: 970#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 971#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 972#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 960#L552-2 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#1(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; 961#L556-2 [2024-11-07 23:51:28,332 INFO L747 eck$LassoCheckResult]: Loop: 961#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 968#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 962#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 963#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; 961#L556-2 [2024-11-07 23:51:28,332 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:28,332 INFO L85 PathProgramCache]: Analyzing trace with hash 925609, now seen corresponding path program 2 times [2024-11-07 23:51:28,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:28,332 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1942904933] [2024-11-07 23:51:28,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:28,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:28,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:28,343 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:28,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:28,349 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:28,349 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:28,349 INFO L85 PathProgramCache]: Analyzing trace with hash 1419303, now seen corresponding path program 1 times [2024-11-07 23:51:28,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:28,350 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1304582592] [2024-11-07 23:51:28,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:28,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:28,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:28,354 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:28,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:28,361 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:28,361 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:28,362 INFO L85 PathProgramCache]: Analyzing trace with hash 121353167, now seen corresponding path program 3 times [2024-11-07 23:51:28,362 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:28,362 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [631049432] [2024-11-07 23:51:28,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:28,362 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:28,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:28,377 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:28,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:28,391 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:28,942 INFO L204 LassoAnalysis]: Preferences: [2024-11-07 23:51:28,942 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-07 23:51:28,942 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-07 23:51:28,942 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-07 23:51:28,942 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-07 23:51:28,942 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:28,942 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-07 23:51:28,942 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-07 23:51:28,942 INFO L132 ssoRankerPreferences]: Filename of dumped script: GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i_Iteration6_Lasso [2024-11-07 23:51:28,942 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-07 23:51:28,942 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-07 23:51:28,944 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:28,945 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:28,946 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:28,947 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:28,950 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,187 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,188 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,189 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,190 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,192 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,193 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,194 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,195 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,197 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,198 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,200 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,204 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,205 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,206 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,207 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:29,407 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-07 23:51:29,407 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-07 23:51:29,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,410 INFO L229 MonitoredProcess]: Starting monitored process 47 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,411 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Waiting until timeout for monitored process [2024-11-07 23:51:29,412 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-07 23:51:29,422 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,422 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:29,422 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,422 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,422 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,423 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:29,423 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:29,424 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,434 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Ended with exit code 0 [2024-11-07 23:51:29,434 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,434 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,436 INFO L229 MonitoredProcess]: Starting monitored process 48 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,437 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Waiting until timeout for monitored process [2024-11-07 23:51:29,437 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-07 23:51:29,447 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,447 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:29,447 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,447 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,447 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,448 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:29,448 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:29,448 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,458 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Ended with exit code 0 [2024-11-07 23:51:29,459 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,459 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,460 INFO L229 MonitoredProcess]: Starting monitored process 49 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,461 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Waiting until timeout for monitored process [2024-11-07 23:51:29,461 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-07 23:51:29,471 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,471 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:29,471 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,471 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,471 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,472 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:29,472 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:29,473 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,483 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Ended with exit code 0 [2024-11-07 23:51:29,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,484 INFO L229 MonitoredProcess]: Starting monitored process 50 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,485 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Waiting until timeout for monitored process [2024-11-07 23:51:29,486 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-07 23:51:29,495 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,495 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:29,495 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,495 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,495 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,495 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:29,495 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:29,496 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,506 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Ended with exit code 0 [2024-11-07 23:51:29,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,507 INFO L229 MonitoredProcess]: Starting monitored process 51 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,508 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Waiting until timeout for monitored process [2024-11-07 23:51:29,509 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-07 23:51:29,518 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,518 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,518 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,518 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,520 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:29,520 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:29,524 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,534 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:29,534 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,534 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,536 INFO L229 MonitoredProcess]: Starting monitored process 52 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,536 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Waiting until timeout for monitored process [2024-11-07 23:51:29,537 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-07 23:51:29,546 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,546 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,546 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,546 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,548 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:29,548 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:29,552 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,562 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Ended with exit code 0 [2024-11-07 23:51:29,562 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,562 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,564 INFO L229 MonitoredProcess]: Starting monitored process 53 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,564 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Waiting until timeout for monitored process [2024-11-07 23:51:29,565 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-07 23:51:29,575 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,575 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,575 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,575 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,577 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:29,577 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:29,581 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,592 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Ended with exit code 0 [2024-11-07 23:51:29,592 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,593 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,594 INFO L229 MonitoredProcess]: Starting monitored process 54 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,595 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Waiting until timeout for monitored process [2024-11-07 23:51:29,595 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-07 23:51:29,604 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,604 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,605 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,605 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,605 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:29,605 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:29,608 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,617 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Ended with exit code 0 [2024-11-07 23:51:29,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,619 INFO L229 MonitoredProcess]: Starting monitored process 55 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,620 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Waiting until timeout for monitored process [2024-11-07 23:51:29,620 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-07 23:51:29,630 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,630 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,630 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,630 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,632 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:29,632 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:29,635 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,645 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Ended with exit code 0 [2024-11-07 23:51:29,645 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,645 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,647 INFO L229 MonitoredProcess]: Starting monitored process 56 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,648 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Waiting until timeout for monitored process [2024-11-07 23:51:29,649 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-07 23:51:29,658 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,659 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,659 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,659 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,660 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:29,660 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:29,664 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,674 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Forceful destruction successful, exit code 0 [2024-11-07 23:51:29,674 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,674 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,675 INFO L229 MonitoredProcess]: Starting monitored process 57 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,676 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Waiting until timeout for monitored process [2024-11-07 23:51:29,676 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-07 23:51:29,686 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,686 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,686 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,686 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,689 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:29,689 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:29,694 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,704 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Ended with exit code 0 [2024-11-07 23:51:29,704 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,704 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,706 INFO L229 MonitoredProcess]: Starting monitored process 58 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,706 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Waiting until timeout for monitored process [2024-11-07 23:51:29,707 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-07 23:51:29,716 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,717 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,717 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:29,717 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,718 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:29,719 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:29,723 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:29,733 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Ended with exit code 0 [2024-11-07 23:51:29,733 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,733 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,734 INFO L229 MonitoredProcess]: Starting monitored process 59 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,735 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Waiting until timeout for monitored process [2024-11-07 23:51:29,736 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-07 23:51:29,745 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:29,746 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:29,746 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-07 23:51:29,746 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:29,750 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-07 23:51:29,750 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-07 23:51:29,763 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-07 23:51:29,779 INFO L443 ModelExtractionUtils]: Simplification made 12 calls to the SMT solver. [2024-11-07 23:51:29,779 INFO L444 ModelExtractionUtils]: 4 out of 21 variables were initially zero. Simplification set additionally 14 variables to zero. [2024-11-07 23:51:29,779 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:29,779 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:29,781 INFO L229 MonitoredProcess]: Starting monitored process 60 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:29,782 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Waiting until timeout for monitored process [2024-11-07 23:51:29,782 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-07 23:51:29,793 INFO L438 nArgumentSynthesizer]: Removed 4 redundant supporting invariants from a total of 4. [2024-11-07 23:51:29,793 INFO L474 LassoAnalysis]: Proved termination. [2024-11-07 23:51:29,793 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_4, v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_4) = 1*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_4 - 1*v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_4 Supporting invariants [] [2024-11-07 23:51:29,804 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Ended with exit code 0 [2024-11-07 23:51:29,838 INFO L156 tatePredicateManager]: 21 out of 21 supporting invariants were superfluous and have been removed [2024-11-07 23:51:29,839 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#2 [2024-11-07 23:51:29,839 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#2,GLOBAL] [2024-11-07 23:51:29,839 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#2,GLOBAL],[IdentifierExpression[~maxId~0!base,]]] [2024-11-07 23:51:29,839 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-07 23:51:29,839 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-07 23:51:29,839 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~tmp~0!base,]]] [2024-11-07 23:51:29,848 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:29,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:29,862 INFO L255 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-07 23:51:29,863 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:29,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:29,874 INFO L255 TraceCheckSpWp]: Trace formula consists of 39 conjuncts, 8 conjuncts are in the unsatisfiable core [2024-11-07 23:51:29,874 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:29,895 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-07 23:51:29,895 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2024-11-07 23:51:29,895 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 19 states and 22 transitions. cyclomatic complexity: 6 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-07 23:51:29,911 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 19 states and 22 transitions. cyclomatic complexity: 6. 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) Result 29 states and 35 transitions. Complement of second has 7 states. [2024-11-07 23:51:29,912 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2024-11-07 23:51:29,912 INFO L82 GeneralOperation]: Start removeUnreachable. 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-07 23:51:29,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 8 transitions. [2024-11-07 23:51:29,914 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 8 transitions. Stem has 4 letters. Loop has 4 letters. [2024-11-07 23:51:29,914 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:29,914 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 8 transitions. Stem has 8 letters. Loop has 4 letters. [2024-11-07 23:51:29,914 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:29,914 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 8 transitions. Stem has 4 letters. Loop has 8 letters. [2024-11-07 23:51:29,914 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:29,914 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29 states and 35 transitions. [2024-11-07 23:51:29,915 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:29,915 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29 states to 23 states and 27 transitions. [2024-11-07 23:51:29,916 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2024-11-07 23:51:29,916 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2024-11-07 23:51:29,916 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 27 transitions. [2024-11-07 23:51:29,916 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:29,916 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23 states and 27 transitions. [2024-11-07 23:51:29,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 27 transitions. [2024-11-07 23:51:29,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 20. [2024-11-07 23:51:29,916 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-07 23:51:29,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 24 transitions. [2024-11-07 23:51:29,917 INFO L240 hiAutomatonCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-11-07 23:51:29,917 INFO L425 stractBuchiCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-11-07 23:51:29,917 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-07 23:51:29,917 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 20 states and 24 transitions. [2024-11-07 23:51:29,917 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 4 [2024-11-07 23:51:29,917 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:29,917 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:29,920 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1] [2024-11-07 23:51:29,920 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:29,920 INFO L745 eck$LassoCheckResult]: Stem: 1151#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1152#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 1153#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 1139#L552-2 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#1(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; 1140#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1149#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1143#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1144#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); 1156#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1154#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1155#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1145#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; 1146#L556-2 [2024-11-07 23:51:29,920 INFO L747 eck$LassoCheckResult]: Loop: 1146#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1157#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1141#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1142#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); 1146#L556-2 [2024-11-07 23:51:29,920 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:29,920 INFO L85 PathProgramCache]: Analyzing trace with hash -676137993, now seen corresponding path program 3 times [2024-11-07 23:51:29,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:29,920 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1360845716] [2024-11-07 23:51:29,920 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:29,921 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:29,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:29,934 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:29,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:29,947 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:29,947 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:29,948 INFO L85 PathProgramCache]: Analyzing trace with hash 1419305, now seen corresponding path program 6 times [2024-11-07 23:51:29,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:29,948 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [504272543] [2024-11-07 23:51:29,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:29,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:29,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:29,969 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:29,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:29,975 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:29,977 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:29,977 INFO L85 PathProgramCache]: Analyzing trace with hash 480358687, now seen corresponding path program 4 times [2024-11-07 23:51:29,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:29,977 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [882378910] [2024-11-07 23:51:29,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:29,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:29,985 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Ended with exit code 0 [2024-11-07 23:51:29,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:30,330 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 3 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:30,331 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:30,331 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [882378910] [2024-11-07 23:51:30,331 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [882378910] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:30,331 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1048777631] [2024-11-07 23:51:30,331 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-07 23:51:30,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:30,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:30,333 INFO L229 MonitoredProcess]: Starting monitored process 61 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:30,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Waiting until timeout for monitored process [2024-11-07 23:51:30,408 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-07 23:51:30,408 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:51:30,409 INFO L255 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 22 conjuncts are in the unsatisfiable core [2024-11-07 23:51:30,411 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:30,494 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-07 23:51:30,520 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-07 23:51:30,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 60 treesize of output 33 [2024-11-07 23:51:30,637 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-07 23:51:30,640 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-07 23:51:30,668 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 1 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:30,669 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:30,814 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-07 23:51:30,819 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:30,819 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1048777631] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:30,819 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:30,819 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 21 [2024-11-07 23:51:30,819 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1099454030] [2024-11-07 23:51:30,819 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:30,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:30,917 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2024-11-07 23:51:30,917 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=367, Unknown=0, NotChecked=0, Total=462 [2024-11-07 23:51:30,918 INFO L87 Difference]: Start difference. First operand 20 states and 24 transitions. cyclomatic complexity: 7 Second operand has 22 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 22 states have internal predecessors, (40), 0 states have call successors, (0), 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-07 23:51:31,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:31,060 INFO L93 Difference]: Finished difference Result 31 states and 34 transitions. [2024-11-07 23:51:31,060 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 31 states and 34 transitions. [2024-11-07 23:51:31,060 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2024-11-07 23:51:31,060 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 31 states to 28 states and 31 transitions. [2024-11-07 23:51:31,060 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 20 [2024-11-07 23:51:31,060 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 24 [2024-11-07 23:51:31,061 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28 states and 31 transitions. [2024-11-07 23:51:31,061 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:31,061 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28 states and 31 transitions. [2024-11-07 23:51:31,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states and 31 transitions. [2024-11-07 23:51:31,061 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 24. [2024-11-07 23:51:31,061 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-07 23:51:31,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 27 transitions. [2024-11-07 23:51:31,062 INFO L240 hiAutomatonCegarLoop]: Abstraction has 24 states and 27 transitions. [2024-11-07 23:51:31,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2024-11-07 23:51:31,064 INFO L425 stractBuchiCegarLoop]: Abstraction has 24 states and 27 transitions. [2024-11-07 23:51:31,064 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-07 23:51:31,064 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 24 states and 27 transitions. [2024-11-07 23:51:31,065 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2024-11-07 23:51:31,065 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:31,065 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:31,065 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-07 23:51:31,065 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 3, 2, 1] [2024-11-07 23:51:31,065 INFO L745 eck$LassoCheckResult]: Stem: 1331#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1332#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 1333#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 1319#L552-2 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#1(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; 1320#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1329#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1337#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1334#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); 1327#L556-2 [2024-11-07 23:51:31,065 INFO L747 eck$LassoCheckResult]: Loop: 1327#L556-2 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#1(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-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1321#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1322#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; 1325#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1342#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1341#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1340#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; 1336#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1339#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1338#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1335#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); 1327#L556-2 [2024-11-07 23:51:31,065 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:31,065 INFO L85 PathProgramCache]: Analyzing trace with hash 121353169, now seen corresponding path program 2 times [2024-11-07 23:51:31,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:31,065 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [309826795] [2024-11-07 23:51:31,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:31,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:31,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:31,076 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:31,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:31,082 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:31,083 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:31,083 INFO L85 PathProgramCache]: Analyzing trace with hash 893710197, now seen corresponding path program 1 times [2024-11-07 23:51:31,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:31,083 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1187630222] [2024-11-07 23:51:31,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:31,083 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:31,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:31,091 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:31,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:31,099 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:31,099 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:31,099 INFO L85 PathProgramCache]: Analyzing trace with hash -1543410875, now seen corresponding path program 5 times [2024-11-07 23:51:31,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:31,099 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2106788195] [2024-11-07 23:51:31,099 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:31,099 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:31,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:31,628 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 7 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:31,628 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:31,628 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2106788195] [2024-11-07 23:51:31,628 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2106788195] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:31,628 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1918625633] [2024-11-07 23:51:31,628 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-07 23:51:31,628 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:31,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:31,630 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:31,631 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2024-11-07 23:51:31,739 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2024-11-07 23:51:31,739 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:51:31,741 INFO L255 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 34 conjuncts are in the unsatisfiable core [2024-11-07 23:51:31,744 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:31,776 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-07 23:51:31,812 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-07 23:51:31,937 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 54 treesize of output 27 [2024-11-07 23:51:31,969 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-07 23:51:32,019 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-07 23:51:32,026 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-07 23:51:32,027 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-07 23:51:32,029 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 2 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:32,029 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:32,230 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 66 treesize of output 50 [2024-11-07 23:51:32,294 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:32,294 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1918625633] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:32,294 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:32,294 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13, 13] total 28 [2024-11-07 23:51:32,294 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1884449218] [2024-11-07 23:51:32,294 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:32,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:32,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2024-11-07 23:51:32,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=131, Invalid=681, Unknown=0, NotChecked=0, Total=812 [2024-11-07 23:51:32,537 INFO L87 Difference]: Start difference. First operand 24 states and 27 transitions. cyclomatic complexity: 5 Second operand has 29 states, 28 states have (on average 1.6071428571428572) internal successors, (45), 29 states have internal predecessors, (45), 0 states have call successors, (0), 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-07 23:51:32,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:32,888 INFO L93 Difference]: Finished difference Result 42 states and 45 transitions. [2024-11-07 23:51:32,888 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 42 states and 45 transitions. [2024-11-07 23:51:32,889 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 16 [2024-11-07 23:51:32,889 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 42 states to 42 states and 45 transitions. [2024-11-07 23:51:32,889 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 35 [2024-11-07 23:51:32,889 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 35 [2024-11-07 23:51:32,889 INFO L73 IsDeterministic]: Start isDeterministic. Operand 42 states and 45 transitions. [2024-11-07 23:51:32,889 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:32,889 INFO L218 hiAutomatonCegarLoop]: Abstraction has 42 states and 45 transitions. [2024-11-07 23:51:32,889 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states and 45 transitions. [2024-11-07 23:51:32,890 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 31. [2024-11-07 23:51:32,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.096774193548387) internal successors, (34), 30 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:32,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 34 transitions. [2024-11-07 23:51:32,890 INFO L240 hiAutomatonCegarLoop]: Abstraction has 31 states and 34 transitions. [2024-11-07 23:51:32,890 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2024-11-07 23:51:32,890 INFO L425 stractBuchiCegarLoop]: Abstraction has 31 states and 34 transitions. [2024-11-07 23:51:32,891 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-07 23:51:32,891 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 34 transitions. [2024-11-07 23:51:32,891 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 16 [2024-11-07 23:51:32,891 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:32,891 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:32,892 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-07 23:51:32,892 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-07 23:51:32,892 INFO L745 eck$LassoCheckResult]: Stem: 1570#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1571#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 1572#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 1559#L552-2 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#1(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; 1560#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1573#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1588#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1574#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); 1565#L556-2 [2024-11-07 23:51:32,892 INFO L747 eck$LassoCheckResult]: Loop: 1565#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1567#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1561#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1562#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; 1565#L556-2 [2024-11-07 23:51:32,893 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:32,893 INFO L85 PathProgramCache]: Analyzing trace with hash 121353169, now seen corresponding path program 3 times [2024-11-07 23:51:32,893 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:32,893 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1570764870] [2024-11-07 23:51:32,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:32,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:32,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:32,903 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:32,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:32,909 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:32,909 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:32,909 INFO L85 PathProgramCache]: Analyzing trace with hash 1419303, now seen corresponding path program 2 times [2024-11-07 23:51:32,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:32,910 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1256284126] [2024-11-07 23:51:32,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:32,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:32,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:32,913 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:32,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:32,915 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:32,915 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:32,915 INFO L85 PathProgramCache]: Analyzing trace with hash -676137993, now seen corresponding path program 6 times [2024-11-07 23:51:32,915 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:32,915 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [190948228] [2024-11-07 23:51:32,915 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:32,915 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:32,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:32,924 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:32,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:32,930 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:33,879 INFO L204 LassoAnalysis]: Preferences: [2024-11-07 23:51:33,879 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-07 23:51:33,879 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-07 23:51:33,879 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-07 23:51:33,879 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-07 23:51:33,879 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:33,879 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-07 23:51:33,879 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-07 23:51:33,879 INFO L132 ssoRankerPreferences]: Filename of dumped script: GulwaniJainKoskinen-2009PLDI-Fig1-alloca-2.i_Iteration9_Lasso [2024-11-07 23:51:33,879 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-07 23:51:33,879 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-07 23:51:33,880 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:33,885 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:33,886 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:33,888 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,076 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,077 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,079 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,080 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,081 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,082 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,083 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,084 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,085 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,086 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,087 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,088 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,089 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,090 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,092 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,093 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-07 23:51:34,297 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-07 23:51:34,297 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-07 23:51:34,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:34,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:34,299 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:34,300 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Waiting until timeout for monitored process [2024-11-07 23:51:34,300 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-07 23:51:34,310 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:34,311 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:34,311 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:34,311 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:34,311 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:34,311 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:34,311 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:34,312 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:34,321 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Ended with exit code 0 [2024-11-07 23:51:34,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:34,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:34,323 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:34,323 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Waiting until timeout for monitored process [2024-11-07 23:51:34,326 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-07 23:51:34,335 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:34,335 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-07 23:51:34,335 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:34,335 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:34,335 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:34,335 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-07 23:51:34,335 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-07 23:51:34,336 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:34,346 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Ended with exit code 0 [2024-11-07 23:51:34,346 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:34,346 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:34,347 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:34,348 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Waiting until timeout for monitored process [2024-11-07 23:51:34,349 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-07 23:51:34,359 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:34,359 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:34,359 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-07 23:51:34,359 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:34,360 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-07 23:51:34,360 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-07 23:51:34,362 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-07 23:51:34,372 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Ended with exit code 0 [2024-11-07 23:51:34,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:34,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:34,373 INFO L229 MonitoredProcess]: Starting monitored process 66 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:34,375 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Waiting until timeout for monitored process [2024-11-07 23:51:34,375 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-07 23:51:34,385 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-07 23:51:34,385 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-07 23:51:34,385 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-07 23:51:34,385 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-07 23:51:34,389 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-07 23:51:34,389 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-07 23:51:34,401 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-07 23:51:34,412 INFO L443 ModelExtractionUtils]: Simplification made 8 calls to the SMT solver. [2024-11-07 23:51:34,412 INFO L444 ModelExtractionUtils]: 8 out of 21 variables were initially zero. Simplification set additionally 10 variables to zero. [2024-11-07 23:51:34,412 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-07 23:51:34,412 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:34,414 INFO L229 MonitoredProcess]: Starting monitored process 67 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-07 23:51:34,414 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Waiting until timeout for monitored process [2024-11-07 23:51:34,414 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-07 23:51:34,425 INFO L438 nArgumentSynthesizer]: Removed 4 redundant supporting invariants from a total of 4. [2024-11-07 23:51:34,425 INFO L474 LassoAnalysis]: Proved termination. [2024-11-07 23:51:34,425 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_5, v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_5) = 1*v_rep(select (select #memory_int#2 ULTIMATE.start_main_~maxId~0#1.base) ULTIMATE.start_main_~maxId~0#1.offset)_5 - 1*v_rep(select (select #memory_int#0 ULTIMATE.start_main_~tmp~0#1.base) ULTIMATE.start_main_~tmp~0#1.offset)_5 Supporting invariants [] [2024-11-07 23:51:34,435 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Ended with exit code 0 [2024-11-07 23:51:34,470 INFO L156 tatePredicateManager]: 21 out of 21 supporting invariants were superfluous and have been removed [2024-11-07 23:51:34,471 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#2 [2024-11-07 23:51:34,471 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#2,GLOBAL] [2024-11-07 23:51:34,471 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#2,GLOBAL],[IdentifierExpression[~maxId~0!base,]]] [2024-11-07 23:51:34,471 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-07 23:51:34,471 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-07 23:51:34,471 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~tmp~0!base,]]] [2024-11-07 23:51:34,480 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:34,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:34,501 INFO L255 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-07 23:51:34,501 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:34,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:34,515 INFO L255 TraceCheckSpWp]: Trace formula consists of 39 conjuncts, 8 conjuncts are in the unsatisfiable core [2024-11-07 23:51:34,515 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:34,527 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-07 23:51:34,528 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2024-11-07 23:51:34,528 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 31 states and 34 transitions. cyclomatic complexity: 6 Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 4 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-07 23:51:34,541 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 31 states and 34 transitions. cyclomatic complexity: 6. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 4 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 56 states and 61 transitions. Complement of second has 7 states. [2024-11-07 23:51:34,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2024-11-07 23:51:34,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 4 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-07 23:51:34,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 13 transitions. [2024-11-07 23:51:34,542 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 13 transitions. Stem has 8 letters. Loop has 4 letters. [2024-11-07 23:51:34,542 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:34,542 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 13 transitions. Stem has 12 letters. Loop has 4 letters. [2024-11-07 23:51:34,542 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:34,542 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 13 transitions. Stem has 8 letters. Loop has 8 letters. [2024-11-07 23:51:34,542 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-07 23:51:34,542 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 56 states and 61 transitions. [2024-11-07 23:51:34,542 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2024-11-07 23:51:34,543 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 56 states to 39 states and 42 transitions. [2024-11-07 23:51:34,543 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 23 [2024-11-07 23:51:34,543 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 24 [2024-11-07 23:51:34,543 INFO L73 IsDeterministic]: Start isDeterministic. Operand 39 states and 42 transitions. [2024-11-07 23:51:34,543 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:34,543 INFO L218 hiAutomatonCegarLoop]: Abstraction has 39 states and 42 transitions. [2024-11-07 23:51:34,543 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states and 42 transitions. [2024-11-07 23:51:34,544 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 36. [2024-11-07 23:51:34,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.0833333333333333) internal successors, (39), 35 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:34,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 39 transitions. [2024-11-07 23:51:34,544 INFO L240 hiAutomatonCegarLoop]: Abstraction has 36 states and 39 transitions. [2024-11-07 23:51:34,544 INFO L425 stractBuchiCegarLoop]: Abstraction has 36 states and 39 transitions. [2024-11-07 23:51:34,544 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-07 23:51:34,544 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 36 states and 39 transitions. [2024-11-07 23:51:34,545 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2024-11-07 23:51:34,545 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:34,545 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:34,545 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 3, 2, 1, 1, 1, 1] [2024-11-07 23:51:34,545 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 3, 2, 1] [2024-11-07 23:51:34,545 INFO L745 eck$LassoCheckResult]: Stem: 1801#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1802#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 1803#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 1789#L552-2 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#1(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; 1790#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1810#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1812#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1811#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; 1809#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1808#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1807#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1806#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); 1804#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1805#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1822#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1820#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; 1799#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1800#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1793#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1794#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; 1796#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1818#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1816#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1813#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); 1797#L556-2 [2024-11-07 23:51:34,545 INFO L747 eck$LassoCheckResult]: Loop: 1797#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1798#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1791#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1792#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; 1795#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1824#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1823#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1821#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; 1815#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 1819#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 1817#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 1814#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); 1797#L556-2 [2024-11-07 23:51:34,546 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:34,546 INFO L85 PathProgramCache]: Analyzing trace with hash -557976725, now seen corresponding path program 7 times [2024-11-07 23:51:34,547 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:34,547 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [983520210] [2024-11-07 23:51:34,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:34,547 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:34,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:34,651 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Ended with exit code 0 [2024-11-07 23:51:34,944 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 2 proven. 38 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:34,944 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:34,944 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [983520210] [2024-11-07 23:51:34,944 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [983520210] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:34,944 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [244570237] [2024-11-07 23:51:34,944 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-07 23:51:34,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:34,945 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:34,946 INFO L229 MonitoredProcess]: Starting monitored process 68 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:34,947 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Waiting until timeout for monitored process [2024-11-07 23:51:35,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:35,035 INFO L255 TraceCheckSpWp]: Trace formula consists of 282 conjuncts, 27 conjuncts are in the unsatisfiable core [2024-11-07 23:51:35,037 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:35,059 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-07 23:51:35,100 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-07 23:51:35,157 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-07 23:51:35,187 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-07 23:51:35,259 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-07 23:51:35,298 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-07 23:51:35,332 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-07 23:51:35,334 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-07 23:51:35,364 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 1 proven. 39 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:35,364 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:35,516 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-07 23:51:35,555 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 1 proven. 39 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:35,555 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [244570237] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:35,555 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:35,555 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12, 12] total 27 [2024-11-07 23:51:35,555 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1429650002] [2024-11-07 23:51:35,555 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:35,555 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:35,556 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:35,556 INFO L85 PathProgramCache]: Analyzing trace with hash 893710197, now seen corresponding path program 2 times [2024-11-07 23:51:35,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:35,556 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [396630215] [2024-11-07 23:51:35,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:35,556 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:35,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:35,564 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:35,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:35,577 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:35,822 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:35,822 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2024-11-07 23:51:35,823 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=118, Invalid=638, Unknown=0, NotChecked=0, Total=756 [2024-11-07 23:51:35,823 INFO L87 Difference]: Start difference. First operand 36 states and 39 transitions. cyclomatic complexity: 6 Second operand has 28 states, 27 states have (on average 2.1481481481481484) internal successors, (58), 28 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:36,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:36,113 INFO L93 Difference]: Finished difference Result 53 states and 56 transitions. [2024-11-07 23:51:36,113 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 53 states and 56 transitions. [2024-11-07 23:51:36,114 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-07 23:51:36,114 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 53 states to 50 states and 53 transitions. [2024-11-07 23:51:36,114 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2024-11-07 23:51:36,114 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2024-11-07 23:51:36,114 INFO L73 IsDeterministic]: Start isDeterministic. Operand 50 states and 53 transitions. [2024-11-07 23:51:36,114 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:36,114 INFO L218 hiAutomatonCegarLoop]: Abstraction has 50 states and 53 transitions. [2024-11-07 23:51:36,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states and 53 transitions. [2024-11-07 23:51:36,115 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2024-11-07 23:51:36,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 44 states have (on average 1.0681818181818181) internal successors, (47), 43 states have internal predecessors, (47), 0 states have call successors, (0), 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-07 23:51:36,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 47 transitions. [2024-11-07 23:51:36,116 INFO L240 hiAutomatonCegarLoop]: Abstraction has 44 states and 47 transitions. [2024-11-07 23:51:36,116 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2024-11-07 23:51:36,116 INFO L425 stractBuchiCegarLoop]: Abstraction has 44 states and 47 transitions. [2024-11-07 23:51:36,116 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-07 23:51:36,117 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 44 states and 47 transitions. [2024-11-07 23:51:36,117 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-07 23:51:36,117 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:36,117 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:36,117 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 6, 4, 2, 1, 1, 1, 1] [2024-11-07 23:51:36,117 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 4, 3, 1] [2024-11-07 23:51:36,118 INFO L745 eck$LassoCheckResult]: Stem: 2082#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2083#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 2084#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 2071#L552-2 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#1(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; 2072#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2079#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2075#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2076#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; 2078#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2098#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2097#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2095#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); 2096#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2093#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2094#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2089#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; 2090#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2100#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2091#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2092#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; 2080#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2081#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2101#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2099#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; 2086#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2087#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2105#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2102#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); 2088#L556-2 [2024-11-07 23:51:36,118 INFO L747 eck$LassoCheckResult]: Loop: 2088#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2085#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2073#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2074#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; 2077#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2114#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2113#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2112#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; 2111#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2110#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2109#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2108#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; 2104#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2107#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2106#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2103#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); 2088#L556-2 [2024-11-07 23:51:36,118 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:36,118 INFO L85 PathProgramCache]: Analyzing trace with hash -1638160495, now seen corresponding path program 8 times [2024-11-07 23:51:36,118 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:36,118 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1518336183] [2024-11-07 23:51:36,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:36,118 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:36,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:36,688 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 11 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:36,688 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:36,688 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1518336183] [2024-11-07 23:51:36,689 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1518336183] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:36,689 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [428759388] [2024-11-07 23:51:36,689 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-07 23:51:36,689 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:36,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:36,691 INFO L229 MonitoredProcess]: Starting monitored process 69 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:36,692 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Waiting until timeout for monitored process [2024-11-07 23:51:36,789 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-07 23:51:36,789 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:51:36,790 INFO L255 TraceCheckSpWp]: Trace formula consists of 319 conjuncts, 32 conjuncts are in the unsatisfiable core [2024-11-07 23:51:36,793 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:36,795 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-07 23:51:36,835 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-07 23:51:36,862 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-07 23:51:36,907 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-07 23:51:36,930 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-07 23:51:36,957 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-07 23:51:36,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-07 23:51:36,966 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-07 23:51:36,968 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 59 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-07 23:51:36,968 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:37,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-07 23:51:37,085 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-07 23:51:37,090 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 11 proven. 48 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-07 23:51:37,090 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [428759388] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:37,090 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:37,090 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 12] total 24 [2024-11-07 23:51:37,090 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1023178656] [2024-11-07 23:51:37,090 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:37,090 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:37,091 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:37,091 INFO L85 PathProgramCache]: Analyzing trace with hash 563187355, now seen corresponding path program 3 times [2024-11-07 23:51:37,091 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:37,091 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [162790658] [2024-11-07 23:51:37,091 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:37,091 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:37,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:37,112 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:37,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:37,119 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:37,575 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:37,575 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2024-11-07 23:51:37,576 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=524, Unknown=0, NotChecked=0, Total=600 [2024-11-07 23:51:37,577 INFO L87 Difference]: Start difference. First operand 44 states and 47 transitions. cyclomatic complexity: 6 Second operand has 25 states, 24 states have (on average 2.25) internal successors, (54), 25 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:38,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:38,002 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2024-11-07 23:51:38,002 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 70 states and 74 transitions. [2024-11-07 23:51:38,003 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-07 23:51:38,003 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 70 states to 51 states and 54 transitions. [2024-11-07 23:51:38,003 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2024-11-07 23:51:38,003 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2024-11-07 23:51:38,003 INFO L73 IsDeterministic]: Start isDeterministic. Operand 51 states and 54 transitions. [2024-11-07 23:51:38,003 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:38,003 INFO L218 hiAutomatonCegarLoop]: Abstraction has 51 states and 54 transitions. [2024-11-07 23:51:38,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states and 54 transitions. [2024-11-07 23:51:38,005 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 48. [2024-11-07 23:51:38,005 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-07 23:51:38,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 51 transitions. [2024-11-07 23:51:38,005 INFO L240 hiAutomatonCegarLoop]: Abstraction has 48 states and 51 transitions. [2024-11-07 23:51:38,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2024-11-07 23:51:38,006 INFO L425 stractBuchiCegarLoop]: Abstraction has 48 states and 51 transitions. [2024-11-07 23:51:38,006 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-11-07 23:51:38,006 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 48 states and 51 transitions. [2024-11-07 23:51:38,007 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 16 [2024-11-07 23:51:38,007 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:38,007 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:38,007 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 7, 5, 2, 1, 1, 1, 1] [2024-11-07 23:51:38,007 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 4, 3, 1] [2024-11-07 23:51:38,007 INFO L745 eck$LassoCheckResult]: Stem: 2417#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2418#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 2421#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 2407#L552-2 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#1(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; 2408#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2419#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2454#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2415#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; 2416#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2420#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2411#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2412#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; 2441#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2440#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2434#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2423#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); 2424#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2453#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2452#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2451#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; 2450#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2449#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2448#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2447#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; 2446#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2443#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2445#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2444#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; 2442#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2437#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2438#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2439#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); 2426#L556-2 [2024-11-07 23:51:38,008 INFO L747 eck$LassoCheckResult]: Loop: 2426#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2436#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2435#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2413#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; 2414#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2422#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2409#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2410#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; 2433#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2432#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2431#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2430#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; 2427#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2429#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2428#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2425#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); 2426#L556-2 [2024-11-07 23:51:38,008 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:38,008 INFO L85 PathProgramCache]: Analyzing trace with hash -1170691657, now seen corresponding path program 9 times [2024-11-07 23:51:38,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:38,008 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1643498269] [2024-11-07 23:51:38,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:38,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:38,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:38,494 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 3 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:38,494 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:38,494 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1643498269] [2024-11-07 23:51:38,494 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1643498269] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:38,494 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [560728536] [2024-11-07 23:51:38,494 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-07 23:51:38,494 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:38,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:38,496 INFO L229 MonitoredProcess]: Starting monitored process 70 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:38,497 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Waiting until timeout for monitored process [2024-11-07 23:51:38,605 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2024-11-07 23:51:38,605 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:51:38,606 INFO L255 TraceCheckSpWp]: Trace formula consists of 319 conjuncts, 36 conjuncts are in the unsatisfiable core [2024-11-07 23:51:38,608 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:38,622 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-07 23:51:38,645 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-07 23:51:38,716 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-07 23:51:38,818 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-07 23:51:38,849 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-07 23:51:38,940 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-07 23:51:38,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 73 treesize of output 42 [2024-11-07 23:51:39,033 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-07 23:51:39,034 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-07 23:51:39,059 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-07 23:51:39,059 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:39,359 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-07 23:51:39,400 INFO L134 CoverageAnalysis]: Checked inductivity of 84 backedges. 2 proven. 78 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-07 23:51:39,401 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [560728536] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:39,401 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:39,401 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15, 15] total 34 [2024-11-07 23:51:39,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [942060951] [2024-11-07 23:51:39,401 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:39,401 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:39,401 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:39,401 INFO L85 PathProgramCache]: Analyzing trace with hash 563187355, now seen corresponding path program 4 times [2024-11-07 23:51:39,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:39,401 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [747709554] [2024-11-07 23:51:39,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:39,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:39,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:39,408 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:39,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:39,414 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:39,851 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:39,852 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2024-11-07 23:51:39,852 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=191, Invalid=999, Unknown=0, NotChecked=0, Total=1190 [2024-11-07 23:51:39,852 INFO L87 Difference]: Start difference. First operand 48 states and 51 transitions. cyclomatic complexity: 6 Second operand has 35 states, 34 states have (on average 2.176470588235294) internal successors, (74), 35 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:40,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:40,550 INFO L93 Difference]: Finished difference Result 76 states and 79 transitions. [2024-11-07 23:51:40,550 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 76 states and 79 transitions. [2024-11-07 23:51:40,551 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-07 23:51:40,551 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 76 states to 70 states and 73 transitions. [2024-11-07 23:51:40,552 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2024-11-07 23:51:40,552 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2024-11-07 23:51:40,552 INFO L73 IsDeterministic]: Start isDeterministic. Operand 70 states and 73 transitions. [2024-11-07 23:51:40,552 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:40,552 INFO L218 hiAutomatonCegarLoop]: Abstraction has 70 states and 73 transitions. [2024-11-07 23:51:40,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states and 73 transitions. [2024-11-07 23:51:40,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 64. [2024-11-07 23:51:40,554 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-07 23:51:40,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 67 transitions. [2024-11-07 23:51:40,555 INFO L240 hiAutomatonCegarLoop]: Abstraction has 64 states and 67 transitions. [2024-11-07 23:51:40,557 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2024-11-07 23:51:40,558 INFO L425 stractBuchiCegarLoop]: Abstraction has 64 states and 67 transitions. [2024-11-07 23:51:40,558 INFO L332 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-11-07 23:51:40,558 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 64 states and 67 transitions. [2024-11-07 23:51:40,558 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-07 23:51:40,558 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:40,558 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:40,559 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 9, 7, 2, 1, 1, 1, 1] [2024-11-07 23:51:40,559 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 6, 5, 1] [2024-11-07 23:51:40,559 INFO L745 eck$LassoCheckResult]: Stem: 2811#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2812#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 2813#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 2801#L552-2 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#1(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; 2802#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2809#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2805#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2806#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; 2808#L556-2 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#1(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-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2827#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2825#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; 2823#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2822#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2821#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2819#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); 2820#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2843#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2842#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2841#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; 2840#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2839#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2838#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2837#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; 2836#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2835#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2834#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2833#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; 2832#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2831#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2830#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2829#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; 2828#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2818#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2826#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2824#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; 2816#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2817#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2847#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2844#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); 2815#L556-2 [2024-11-07 23:51:40,561 INFO L747 eck$LassoCheckResult]: Loop: 2815#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2814#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2803#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2804#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#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2864#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2863#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2862#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; 2861#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2860#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2859#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2858#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; 2857#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2856#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2855#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2854#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; 2853#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2852#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2851#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2850#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; 2846#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 2849#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 2848#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 2845#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); 2815#L556-2 [2024-11-07 23:51:40,570 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:40,570 INFO L85 PathProgramCache]: Analyzing trace with hash -1630764285, now seen corresponding path program 10 times [2024-11-07 23:51:40,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:40,571 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1899461879] [2024-11-07 23:51:40,571 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:40,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:40,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:41,182 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-07 23:51:41,182 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:41,183 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1899461879] [2024-11-07 23:51:41,183 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1899461879] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:41,183 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [597768361] [2024-11-07 23:51:41,183 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-07 23:51:41,183 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:41,183 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:41,185 INFO L229 MonitoredProcess]: Starting monitored process 71 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:41,186 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Waiting until timeout for monitored process [2024-11-07 23:51:41,308 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-07 23:51:41,308 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:51:41,310 INFO L255 TraceCheckSpWp]: Trace formula consists of 430 conjuncts, 40 conjuncts are in the unsatisfiable core [2024-11-07 23:51:41,312 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:41,314 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-07 23:51:41,322 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-07 23:51:41,353 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-07 23:51:41,400 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-07 23:51:41,439 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-07 23:51:41,470 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-07 23:51:41,479 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-07 23:51:41,514 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-07 23:51:41,521 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-07 23:51:41,523 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-07 23:51:41,524 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-07 23:51:41,524 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:41,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 26 treesize of output 18 [2024-11-07 23:51:41,673 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-07 23:51:41,681 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-07 23:51:41,681 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [597768361] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:41,681 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:41,681 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 14] total 24 [2024-11-07 23:51:41,681 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [707365974] [2024-11-07 23:51:41,681 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:41,682 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:41,682 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:41,682 INFO L85 PathProgramCache]: Analyzing trace with hash 770982887, now seen corresponding path program 5 times [2024-11-07 23:51:41,682 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:41,682 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [6786506] [2024-11-07 23:51:41,682 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:41,682 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:41,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:41,694 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:41,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:41,700 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:42,813 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:42,813 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2024-11-07 23:51:42,814 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=527, Unknown=0, NotChecked=0, Total=600 [2024-11-07 23:51:42,814 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-07 23:51:43,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:43,199 INFO L93 Difference]: Finished difference Result 98 states and 102 transitions. [2024-11-07 23:51:43,199 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 98 states and 102 transitions. [2024-11-07 23:51:43,200 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-07 23:51:43,200 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 98 states to 71 states and 74 transitions. [2024-11-07 23:51:43,201 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2024-11-07 23:51:43,201 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2024-11-07 23:51:43,201 INFO L73 IsDeterministic]: Start isDeterministic. Operand 71 states and 74 transitions. [2024-11-07 23:51:43,201 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:43,201 INFO L218 hiAutomatonCegarLoop]: Abstraction has 71 states and 74 transitions. [2024-11-07 23:51:43,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states and 74 transitions. [2024-11-07 23:51:43,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 68. [2024-11-07 23:51:43,206 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-07 23:51:43,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 71 transitions. [2024-11-07 23:51:43,208 INFO L240 hiAutomatonCegarLoop]: Abstraction has 68 states and 71 transitions. [2024-11-07 23:51:43,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2024-11-07 23:51:43,209 INFO L425 stractBuchiCegarLoop]: Abstraction has 68 states and 71 transitions. [2024-11-07 23:51:43,209 INFO L332 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-11-07 23:51:43,209 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 68 states and 71 transitions. [2024-11-07 23:51:43,209 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-07 23:51:43,209 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:43,209 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:43,210 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 10, 8, 2, 1, 1, 1, 1] [2024-11-07 23:51:43,210 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 6, 5, 1] [2024-11-07 23:51:43,210 INFO L745 eck$LassoCheckResult]: Stem: 3268#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 3269#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 3270#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 3255#L552-2 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#1(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; 3256#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3265#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3300#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3263#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; 3264#L556-2 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#1(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-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3298#L555-3 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#2(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; 3266#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3267#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3259#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3260#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; 3279#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3278#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3277#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3275#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); 3276#L556-2 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#1(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-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3296#L555-3 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#2(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#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3293#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3292#L555-3 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#2(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; 3290#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3289#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3288#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3287#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; 3286#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3285#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3284#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3283#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#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3274#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3281#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3280#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; 3272#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3273#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3306#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3302#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); 3303#L556-2 [2024-11-07 23:51:43,210 INFO L747 eck$LassoCheckResult]: Loop: 3303#L556-2 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#1(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-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3321#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3261#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; 3262#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3271#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3257#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3258#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; 3320#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3319#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3318#L555-3 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#2(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; 3316#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3315#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3314#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3313#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; 3312#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3311#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3310#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3309#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; 3305#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3308#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3307#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3304#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); 3303#L556-2 [2024-11-07 23:51:43,211 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:43,211 INFO L85 PathProgramCache]: Analyzing trace with hash 1151958057, now seen corresponding path program 11 times [2024-11-07 23:51:43,211 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:43,211 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1254328727] [2024-11-07 23:51:43,211 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:43,211 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:43,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:43,992 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 15 proven. 165 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:43,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:43,992 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1254328727] [2024-11-07 23:51:43,992 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1254328727] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:43,992 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1855159455] [2024-11-07 23:51:43,992 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-07 23:51:43,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:43,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:43,994 INFO L229 MonitoredProcess]: Starting monitored process 72 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:43,995 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (72)] Waiting until timeout for monitored process [2024-11-07 23:51:44,137 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2024-11-07 23:51:44,137 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:51:44,139 INFO L255 TraceCheckSpWp]: Trace formula consists of 467 conjuncts, 48 conjuncts are in the unsatisfiable core [2024-11-07 23:51:44,143 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:44,147 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-07 23:51:44,155 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-07 23:51:44,172 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-07 23:51:44,214 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-07 23:51:44,239 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-07 23:51:44,280 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-07 23:51:44,307 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-07 23:51:44,318 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-07 23:51:44,325 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-07 23:51:44,360 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-07 23:51:44,367 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-07 23:51:44,369 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-07 23:51:44,370 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-07 23:51:44,370 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:44,449 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-07 23:51:44,548 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-07 23:51:44,565 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-07 23:51:44,565 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1855159455] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:44,565 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:44,565 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 16] total 29 [2024-11-07 23:51:44,565 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2096419105] [2024-11-07 23:51:44,565 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:44,566 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:44,566 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:44,566 INFO L85 PathProgramCache]: Analyzing trace with hash 770982887, now seen corresponding path program 6 times [2024-11-07 23:51:44,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:44,566 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [158743972] [2024-11-07 23:51:44,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:44,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:44,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:44,577 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:44,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:44,583 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:45,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:45,711 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2024-11-07 23:51:45,711 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=782, Unknown=0, NotChecked=0, Total=870 [2024-11-07 23:51:45,712 INFO L87 Difference]: Start difference. First operand 68 states and 71 transitions. cyclomatic complexity: 6 Second operand has 30 states, 29 states have (on average 2.5517241379310347) internal successors, (74), 30 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:51:46,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:46,601 INFO L93 Difference]: Finished difference Result 102 states and 106 transitions. [2024-11-07 23:51:46,601 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 102 states and 106 transitions. [2024-11-07 23:51:46,602 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-07 23:51:46,602 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 102 states to 75 states and 78 transitions. [2024-11-07 23:51:46,602 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2024-11-07 23:51:46,602 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2024-11-07 23:51:46,602 INFO L73 IsDeterministic]: Start isDeterministic. Operand 75 states and 78 transitions. [2024-11-07 23:51:46,602 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:46,602 INFO L218 hiAutomatonCegarLoop]: Abstraction has 75 states and 78 transitions. [2024-11-07 23:51:46,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states and 78 transitions. [2024-11-07 23:51:46,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 72. [2024-11-07 23:51:46,606 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-07 23:51:46,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 75 transitions. [2024-11-07 23:51:46,610 INFO L240 hiAutomatonCegarLoop]: Abstraction has 72 states and 75 transitions. [2024-11-07 23:51:46,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2024-11-07 23:51:46,611 INFO L425 stractBuchiCegarLoop]: Abstraction has 72 states and 75 transitions. [2024-11-07 23:51:46,611 INFO L332 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2024-11-07 23:51:46,611 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 72 states and 75 transitions. [2024-11-07 23:51:46,612 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2024-11-07 23:51:46,612 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:46,612 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:46,612 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 11, 9, 2, 1, 1, 1, 1] [2024-11-07 23:51:46,612 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 6, 5, 1] [2024-11-07 23:51:46,612 INFO L745 eck$LassoCheckResult]: Stem: 3780#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 3781#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 3782#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 3768#L552-2 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#1(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; 3769#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3777#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3784#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3818#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; 3778#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3779#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3772#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3773#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; 3776#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3817#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3816#L555-3 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#2(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; 3814#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3793#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3813#L555-3 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#2(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 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; 3792#L556-2 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#1(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-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3790#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3788#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); 3789#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3812#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3811#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3810#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; 3809#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3808#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3807#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3806#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#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3804#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3803#L555-3 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#2(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; 3801#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3800#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3799#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3798#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; 3797#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3787#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3796#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3794#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; 3785#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3786#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3823#L555-3 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#2(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 write~int#0(0, main_~tmp~0#1.base, main_~tmp~0#1.offset, 4); 3820#L556-2 [2024-11-07 23:51:46,612 INFO L747 eck$LassoCheckResult]: Loop: 3820#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3839#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3838#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3774#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; 3775#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3783#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3770#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3771#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; 3837#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3836#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3835#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3834#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; 3833#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3832#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3831#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3830#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; 3829#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 3828#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3827#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3826#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#L556-2 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#1(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-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 3824#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 3821#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); 3820#L556-2 [2024-11-07 23:51:46,613 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:46,613 INFO L85 PathProgramCache]: Analyzing trace with hash 1400468047, now seen corresponding path program 12 times [2024-11-07 23:51:46,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:46,613 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1668224177] [2024-11-07 23:51:46,613 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:46,613 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:46,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:47,309 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-07 23:51:47,309 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:47,309 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1668224177] [2024-11-07 23:51:47,309 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1668224177] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:47,309 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [815647378] [2024-11-07 23:51:47,309 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-07 23:51:47,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:47,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:47,311 INFO L229 MonitoredProcess]: Starting monitored process 73 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:47,312 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (73)] Waiting until timeout for monitored process [2024-11-07 23:51:47,486 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2024-11-07 23:51:47,486 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:51:47,488 INFO L255 TraceCheckSpWp]: Trace formula consists of 504 conjuncts, 55 conjuncts are in the unsatisfiable core [2024-11-07 23:51:47,491 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:47,494 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-07 23:51:47,506 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-07 23:51:47,558 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-07 23:51:47,598 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-07 23:51:47,641 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-07 23:51:47,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 21 treesize of output 13 [2024-11-07 23:51:47,738 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-07 23:51:47,768 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-07 23:51:47,842 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 33 [2024-11-07 23:51:47,896 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 33 [2024-11-07 23:51:47,953 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 33 [2024-11-07 23:51:48,003 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 33 [2024-11-07 23:51:48,049 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-07 23:51:48,086 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-07 23:51:48,087 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-07 23:51:48,111 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 1 proven. 219 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:48,111 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:48,566 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 37 proven. 183 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:48,566 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [815647378] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:48,566 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:48,566 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18, 18] total 44 [2024-11-07 23:51:48,566 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1408570260] [2024-11-07 23:51:48,566 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:48,567 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:48,567 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:48,567 INFO L85 PathProgramCache]: Analyzing trace with hash 770982887, now seen corresponding path program 7 times [2024-11-07 23:51:48,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:48,567 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [232954402] [2024-11-07 23:51:48,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:48,567 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:48,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:48,577 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:48,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:48,583 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:49,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:49,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2024-11-07 23:51:49,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=287, Invalid=1693, Unknown=0, NotChecked=0, Total=1980 [2024-11-07 23:51:49,667 INFO L87 Difference]: Start difference. First operand 72 states and 75 transitions. cyclomatic complexity: 6 Second operand has 45 states, 44 states have (on average 2.727272727272727) internal successors, (120), 45 states have internal predecessors, (120), 0 states have call successors, (0), 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-07 23:51:50,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:50,128 INFO L93 Difference]: Finished difference Result 89 states and 92 transitions. [2024-11-07 23:51:50,129 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 89 states and 92 transitions. [2024-11-07 23:51:50,129 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2024-11-07 23:51:50,129 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 89 states to 86 states and 89 transitions. [2024-11-07 23:51:50,129 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2024-11-07 23:51:50,129 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2024-11-07 23:51:50,130 INFO L73 IsDeterministic]: Start isDeterministic. Operand 86 states and 89 transitions. [2024-11-07 23:51:50,130 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:50,130 INFO L218 hiAutomatonCegarLoop]: Abstraction has 86 states and 89 transitions. [2024-11-07 23:51:50,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states and 89 transitions. [2024-11-07 23:51:50,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 80. [2024-11-07 23:51:50,131 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-07 23:51:50,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 83 transitions. [2024-11-07 23:51:50,131 INFO L240 hiAutomatonCegarLoop]: Abstraction has 80 states and 83 transitions. [2024-11-07 23:51:50,133 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2024-11-07 23:51:50,133 INFO L425 stractBuchiCegarLoop]: Abstraction has 80 states and 83 transitions. [2024-11-07 23:51:50,133 INFO L332 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2024-11-07 23:51:50,134 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 80 states and 83 transitions. [2024-11-07 23:51:50,134 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2024-11-07 23:51:50,134 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:50,134 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:50,135 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 12, 12, 10, 2, 1, 1, 1, 1] [2024-11-07 23:51:50,135 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 7, 6, 1] [2024-11-07 23:51:50,135 INFO L745 eck$LassoCheckResult]: Stem: 4305#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 4306#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 4307#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 4293#L552-2 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#1(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; 4294#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4302#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4309#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4347#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; 4303#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4304#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4297#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4298#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; 4301#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4346#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4345#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4344#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; 4343#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4318#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4322#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4320#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; 4317#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4316#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4315#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4313#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); 4314#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4342#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4341#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4340#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; 4339#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4338#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4337#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4336#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; 4335#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4334#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4333#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4332#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; 4331#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4330#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4329#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4328#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; 4327#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4326#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4325#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4324#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; 4323#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4312#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4321#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4319#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; 4310#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4311#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4352#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4348#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); 4349#L556-2 [2024-11-07 23:51:50,135 INFO L747 eck$LassoCheckResult]: Loop: 4349#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4372#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4371#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4299#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; 4300#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4308#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4295#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4296#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; 4370#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4369#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4368#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4367#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; 4366#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4365#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4364#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4363#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; 4362#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4361#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4360#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4359#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; 4358#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4357#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4356#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4355#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; 4351#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4354#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4353#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4350#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); 4349#L556-2 [2024-11-07 23:51:50,135 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:50,135 INFO L85 PathProgramCache]: Analyzing trace with hash 968168565, now seen corresponding path program 13 times [2024-11-07 23:51:50,135 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:50,135 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1198985568] [2024-11-07 23:51:50,135 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:50,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:50,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:50,970 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-07 23:51:50,970 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:50,970 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1198985568] [2024-11-07 23:51:50,970 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1198985568] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:50,970 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1381532412] [2024-11-07 23:51:50,970 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-07 23:51:50,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:50,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:50,972 INFO L229 MonitoredProcess]: Starting monitored process 74 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:50,973 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (74)] Waiting until timeout for monitored process [2024-11-07 23:51:51,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:51,103 INFO L255 TraceCheckSpWp]: Trace formula consists of 541 conjuncts, 56 conjuncts are in the unsatisfiable core [2024-11-07 23:51:51,107 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:51,111 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-07 23:51:51,118 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-07 23:51:51,137 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-07 23:51:51,161 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-07 23:51:51,205 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-07 23:51:51,242 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-07 23:51:51,292 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-07 23:51:51,327 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-07 23:51:51,333 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-07 23:51:51,343 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-07 23:51:51,360 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-07 23:51:51,395 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-07 23:51:51,400 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-07 23:51:51,402 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-07 23:51:51,403 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-07 23:51:51,403 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:51,509 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-07 23:51:51,621 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-07 23:51:51,642 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-07 23:51:51,643 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1381532412] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:51,643 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:51,643 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 33 [2024-11-07 23:51:51,643 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [896621480] [2024-11-07 23:51:51,643 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:51,643 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:51,643 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:51,643 INFO L85 PathProgramCache]: Analyzing trace with hash -792897011, now seen corresponding path program 8 times [2024-11-07 23:51:51,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:51,643 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [598237336] [2024-11-07 23:51:51,643 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:51,643 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:51,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:51,653 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:51,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:51,659 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:53,424 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:53,424 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2024-11-07 23:51:53,425 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1025, Unknown=0, NotChecked=0, Total=1122 [2024-11-07 23:51:53,425 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-07 23:51:54,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:54,557 INFO L93 Difference]: Finished difference Result 118 states and 122 transitions. [2024-11-07 23:51:54,557 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 118 states and 122 transitions. [2024-11-07 23:51:54,558 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2024-11-07 23:51:54,558 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 118 states to 87 states and 90 transitions. [2024-11-07 23:51:54,558 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2024-11-07 23:51:54,558 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2024-11-07 23:51:54,558 INFO L73 IsDeterministic]: Start isDeterministic. Operand 87 states and 90 transitions. [2024-11-07 23:51:54,558 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:54,558 INFO L218 hiAutomatonCegarLoop]: Abstraction has 87 states and 90 transitions. [2024-11-07 23:51:54,558 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states and 90 transitions. [2024-11-07 23:51:54,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 84. [2024-11-07 23:51:54,560 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-07 23:51:54,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 87 transitions. [2024-11-07 23:51:54,560 INFO L240 hiAutomatonCegarLoop]: Abstraction has 84 states and 87 transitions. [2024-11-07 23:51:54,563 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2024-11-07 23:51:54,563 INFO L425 stractBuchiCegarLoop]: Abstraction has 84 states and 87 transitions. [2024-11-07 23:51:54,563 INFO L332 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2024-11-07 23:51:54,563 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 84 states and 87 transitions. [2024-11-07 23:51:54,564 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2024-11-07 23:51:54,564 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:54,564 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:54,564 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 13, 13, 11, 2, 1, 1, 1, 1] [2024-11-07 23:51:54,564 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 7, 6, 1] [2024-11-07 23:51:54,564 INFO L745 eck$LassoCheckResult]: Stem: 4912#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 4913#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 4914#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 4900#L552-2 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#1(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; 4901#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4909#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4916#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4958#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; 4910#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4911#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4904#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4905#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; 4908#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4957#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4956#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4955#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; 4954#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4953#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4952#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4951#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; 4950#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4925#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4949#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4927#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; 4924#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4923#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4922#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4920#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); 4921#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4948#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4947#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4946#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; 4945#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4944#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4943#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4942#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; 4941#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4940#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4939#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4938#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; 4937#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4936#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4935#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4934#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; 4933#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4932#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4931#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4930#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; 4929#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4919#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4928#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4926#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; 4917#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4918#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4963#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4959#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); 4960#L556-2 [2024-11-07 23:51:54,567 INFO L747 eck$LassoCheckResult]: Loop: 4960#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4983#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4982#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4906#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; 4907#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4915#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4902#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4903#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; 4981#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4980#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4979#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4978#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; 4977#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4976#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4975#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4974#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; 4973#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4972#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4971#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4970#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; 4969#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4968#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4967#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4966#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; 4962#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 4965#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 4964#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 4961#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); 4960#L556-2 [2024-11-07 23:51:54,567 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:54,567 INFO L85 PathProgramCache]: Analyzing trace with hash -833125221, now seen corresponding path program 14 times [2024-11-07 23:51:54,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:54,567 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [5930686] [2024-11-07 23:51:54,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:54,567 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:54,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:51:55,296 INFO L134 CoverageAnalysis]: Checked inductivity of 312 backedges. 42 proven. 270 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-07 23:51:55,296 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:51:55,296 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [5930686] [2024-11-07 23:51:55,296 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [5930686] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:51:55,296 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [815339974] [2024-11-07 23:51:55,296 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-07 23:51:55,296 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:51:55,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:51:55,298 INFO L229 MonitoredProcess]: Starting monitored process 75 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:51:55,299 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (75)] Waiting until timeout for monitored process [2024-11-07 23:51:55,442 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-07 23:51:55,442 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:51:55,444 INFO L255 TraceCheckSpWp]: Trace formula consists of 578 conjuncts, 51 conjuncts are in the unsatisfiable core [2024-11-07 23:51:55,446 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:51:55,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 15 treesize of output 1 [2024-11-07 23:51:55,493 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-07 23:51:55,524 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-07 23:51:55,554 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-07 23:51:55,589 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-07 23:51:55,619 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-07 23:51:55,681 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-07 23:51:55,704 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-07 23:51:55,772 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-07 23:51:55,821 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-07 23:51:55,895 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-07 23:51:55,951 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-07 23:51:56,001 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-07 23:51:56,061 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-07 23:51:56,117 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-07 23:51:56,119 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-07 23:51:56,152 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-07 23:51:56,152 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:51:56,426 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-07 23:51:56,651 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-07 23:51:56,651 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [815339974] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:51:56,651 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:51:56,651 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20, 20] total 48 [2024-11-07 23:51:56,651 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1708528971] [2024-11-07 23:51:56,651 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:51:56,651 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:51:56,652 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:56,652 INFO L85 PathProgramCache]: Analyzing trace with hash -792897011, now seen corresponding path program 9 times [2024-11-07 23:51:56,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:56,652 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [494495518] [2024-11-07 23:51:56,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:56,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:56,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:56,660 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:51:56,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:51:56,666 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:51:58,419 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:51:58,420 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2024-11-07 23:51:58,420 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=337, Invalid=2015, Unknown=0, NotChecked=0, Total=2352 [2024-11-07 23:51:58,420 INFO L87 Difference]: Start difference. First operand 84 states and 87 transitions. cyclomatic complexity: 6 Second operand has 49 states, 48 states have (on average 2.9583333333333335) internal successors, (142), 49 states have internal predecessors, (142), 0 states have call successors, (0), 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-07 23:51:59,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:51:59,153 INFO L93 Difference]: Finished difference Result 101 states and 104 transitions. [2024-11-07 23:51:59,153 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 101 states and 104 transitions. [2024-11-07 23:51:59,153 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 32 [2024-11-07 23:51:59,154 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 101 states to 98 states and 101 transitions. [2024-11-07 23:51:59,154 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44 [2024-11-07 23:51:59,154 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2024-11-07 23:51:59,154 INFO L73 IsDeterministic]: Start isDeterministic. Operand 98 states and 101 transitions. [2024-11-07 23:51:59,154 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:51:59,154 INFO L218 hiAutomatonCegarLoop]: Abstraction has 98 states and 101 transitions. [2024-11-07 23:51:59,154 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states and 101 transitions. [2024-11-07 23:51:59,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 92. [2024-11-07 23:51:59,155 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-07 23:51:59,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 95 transitions. [2024-11-07 23:51:59,156 INFO L240 hiAutomatonCegarLoop]: Abstraction has 92 states and 95 transitions. [2024-11-07 23:51:59,157 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2024-11-07 23:51:59,157 INFO L425 stractBuchiCegarLoop]: Abstraction has 92 states and 95 transitions. [2024-11-07 23:51:59,157 INFO L332 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2024-11-07 23:51:59,157 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 92 states and 95 transitions. [2024-11-07 23:51:59,157 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 32 [2024-11-07 23:51:59,157 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:51:59,157 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:51:59,158 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [14, 14, 14, 12, 2, 1, 1, 1, 1] [2024-11-07 23:51:59,158 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 8, 7, 1] [2024-11-07 23:51:59,158 INFO L745 eck$LassoCheckResult]: Stem: 5520#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 5521#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 5522#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 5509#L552-2 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#1(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; 5510#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5518#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5513#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5514#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; 5517#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5519#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5571#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5570#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; 5569#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5568#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5567#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5566#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; 5565#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5564#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5563#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5562#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; 5561#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5532#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5536#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5534#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; 5531#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5530#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5529#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5527#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); 5528#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5560#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5559#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5558#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; 5557#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5556#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5555#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5554#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; 5553#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5552#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5551#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5550#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; 5549#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5548#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5547#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5546#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; 5545#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5544#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5543#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5542#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; 5541#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5540#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5539#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5538#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; 5537#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5526#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5535#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5533#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; 5524#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5525#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5576#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5572#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); 5573#L556-2 [2024-11-07 23:51:59,159 INFO L747 eck$LassoCheckResult]: Loop: 5573#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5600#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5599#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5515#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; 5516#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5523#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5511#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5512#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; 5598#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5597#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5596#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5595#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; 5594#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5593#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5592#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5591#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; 5590#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5589#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5588#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5587#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; 5586#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5585#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5584#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5583#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; 5582#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5581#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5580#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5579#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; 5575#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 5578#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 5577#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 5574#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); 5573#L556-2 [2024-11-07 23:51:59,159 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:51:59,159 INFO L85 PathProgramCache]: Analyzing trace with hash 392765633, now seen corresponding path program 15 times [2024-11-07 23:51:59,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:51:59,159 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [497296505] [2024-11-07 23:51:59,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:51:59,159 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:51:59,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:52:00,146 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-07 23:52:00,146 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:52:00,146 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [497296505] [2024-11-07 23:52:00,147 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [497296505] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:52:00,147 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [963188203] [2024-11-07 23:52:00,147 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-07 23:52:00,147 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:52:00,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:52:00,148 INFO L229 MonitoredProcess]: Starting monitored process 76 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:52:00,149 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (76)] Waiting until timeout for monitored process [2024-11-07 23:52:00,334 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2024-11-07 23:52:00,334 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:52:00,336 INFO L255 TraceCheckSpWp]: Trace formula consists of 504 conjuncts, 69 conjuncts are in the unsatisfiable core [2024-11-07 23:52:00,339 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:52:00,375 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-07 23:52:00,408 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-07 23:52:00,435 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-07 23:52:00,514 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-07 23:52:00,618 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-07 23:52:00,741 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-07 23:52:00,875 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-07 23:52:01,001 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-07 23:52:01,035 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-07 23:52:01,104 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-07 23:52:01,141 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-07 23:52:01,184 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-07 23:52:01,222 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-07 23:52:01,223 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-07 23:52:01,246 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-07 23:52:01,246 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:52:02,084 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-07 23:52:02,193 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 7 proven. 333 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2024-11-07 23:52:02,193 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [963188203] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:52:02,194 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:52:02,194 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 26, 26] total 68 [2024-11-07 23:52:02,194 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1733692342] [2024-11-07 23:52:02,194 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:52:02,194 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:52:02,194 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:52:02,194 INFO L85 PathProgramCache]: Analyzing trace with hash 522382643, now seen corresponding path program 10 times [2024-11-07 23:52:02,194 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:52:02,194 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [375495930] [2024-11-07 23:52:02,194 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:52:02,194 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:52:02,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:52:02,204 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:52:02,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:52:02,211 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:52:05,161 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:52:05,161 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 69 interpolants. [2024-11-07 23:52:05,162 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=729, Invalid=3963, Unknown=0, NotChecked=0, Total=4692 [2024-11-07 23:52:05,162 INFO L87 Difference]: Start difference. First operand 92 states and 95 transitions. cyclomatic complexity: 6 Second operand has 69 states, 68 states have (on average 2.2058823529411766) internal successors, (150), 69 states have internal predecessors, (150), 0 states have call successors, (0), 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-07 23:52:06,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:52:06,960 INFO L93 Difference]: Finished difference Result 178 states and 182 transitions. [2024-11-07 23:52:06,960 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 178 states and 182 transitions. [2024-11-07 23:52:06,961 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-07 23:52:06,962 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 178 states to 163 states and 167 transitions. [2024-11-07 23:52:06,962 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 68 [2024-11-07 23:52:06,962 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 68 [2024-11-07 23:52:06,962 INFO L73 IsDeterministic]: Start isDeterministic. Operand 163 states and 167 transitions. [2024-11-07 23:52:06,962 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:52:06,962 INFO L218 hiAutomatonCegarLoop]: Abstraction has 163 states and 167 transitions. [2024-11-07 23:52:06,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states and 167 transitions. [2024-11-07 23:52:06,964 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 132. [2024-11-07 23:52:06,964 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-07 23:52:06,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 135 transitions. [2024-11-07 23:52:06,964 INFO L240 hiAutomatonCegarLoop]: Abstraction has 132 states and 135 transitions. [2024-11-07 23:52:06,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 78 states. [2024-11-07 23:52:06,967 INFO L425 stractBuchiCegarLoop]: Abstraction has 132 states and 135 transitions. [2024-11-07 23:52:06,967 INFO L332 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2024-11-07 23:52:06,967 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 132 states and 135 transitions. [2024-11-07 23:52:06,968 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-07 23:52:06,968 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:52:06,968 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:52:06,968 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [19, 19, 19, 17, 2, 1, 1, 1, 1] [2024-11-07 23:52:06,969 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 13, 12, 1] [2024-11-07 23:52:06,969 INFO L745 eck$LassoCheckResult]: Stem: 6337#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 6338#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 6339#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 6325#L552-2 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#1(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; 6326#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6334#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6341#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6407#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; 6335#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6336#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6329#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6330#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; 6333#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6406#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6405#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6404#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; 6403#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6402#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6401#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6400#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; 6399#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6350#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6398#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6352#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; 6349#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6348#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6347#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6345#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); 6346#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6397#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6396#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6395#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; 6394#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6393#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6392#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6391#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; 6390#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6389#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6388#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6387#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; 6386#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6385#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6384#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6383#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; 6382#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6381#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6380#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6379#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; 6378#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6377#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6376#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6375#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; 6374#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6373#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6372#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6371#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; 6370#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6369#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6368#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6367#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; 6366#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6365#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6364#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6363#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; 6362#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6361#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6360#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6359#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; 6358#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6357#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6356#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6355#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; 6354#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6344#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6353#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6351#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; 6342#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6343#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6412#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6408#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); 6409#L556-2 [2024-11-07 23:52:06,969 INFO L747 eck$LassoCheckResult]: Loop: 6409#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6456#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6455#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6331#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; 6332#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6340#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6327#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6328#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; 6454#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6453#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6452#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6451#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; 6450#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6449#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6448#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6447#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; 6446#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6445#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6444#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6443#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; 6442#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6441#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6440#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6439#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; 6438#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6437#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6436#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6435#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; 6434#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6433#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6432#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6431#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; 6430#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6429#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6428#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6427#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; 6426#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6425#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6424#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6423#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; 6422#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6421#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6420#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6419#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; 6418#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6417#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6416#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6415#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; 6411#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 6414#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 6413#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 6410#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); 6409#L556-2 [2024-11-07 23:52:06,969 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:52:06,969 INFO L85 PathProgramCache]: Analyzing trace with hash -1951563649, now seen corresponding path program 16 times [2024-11-07 23:52:06,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:52:06,969 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [824786260] [2024-11-07 23:52:06,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:52:06,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:52:06,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:52:08,136 INFO L134 CoverageAnalysis]: Checked inductivity of 684 backedges. 4 proven. 640 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2024-11-07 23:52:08,136 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:52:08,136 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [824786260] [2024-11-07 23:52:08,136 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [824786260] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:52:08,136 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [415557277] [2024-11-07 23:52:08,136 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-07 23:52:08,136 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:52:08,136 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:52:08,138 INFO L229 MonitoredProcess]: Starting monitored process 77 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:52:08,139 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (77)] Waiting until timeout for monitored process [2024-11-07 23:52:08,312 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-07 23:52:08,312 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:52:08,314 INFO L255 TraceCheckSpWp]: Trace formula consists of 800 conjuncts, 64 conjuncts are in the unsatisfiable core [2024-11-07 23:52:08,318 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:52:08,319 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-07 23:52:08,325 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-07 23:52:08,330 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-07 23:52:08,339 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-07 23:52:08,345 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-07 23:52:08,375 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-07 23:52:08,402 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-07 23:52:08,453 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-07 23:52:08,481 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-07 23:52:08,487 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-07 23:52:08,492 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-07 23:52:08,498 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-07 23:52:08,503 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-07 23:52:08,538 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-07 23:52:08,545 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-07 23:52:08,546 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-07 23:52:08,547 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-07 23:52:08,547 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:52:08,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 26 treesize of output 18 [2024-11-07 23:52:08,735 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-07 23:52:08,756 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-07 23:52:08,756 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [415557277] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:52:08,756 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:52:08,756 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 20, 20] total 31 [2024-11-07 23:52:08,756 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2078026911] [2024-11-07 23:52:08,757 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:52:08,757 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:52:08,757 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:52:08,757 INFO L85 PathProgramCache]: Analyzing trace with hash -56188943, now seen corresponding path program 11 times [2024-11-07 23:52:08,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:52:08,757 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1150537079] [2024-11-07 23:52:08,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:52:08,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:52:08,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:52:08,771 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:52:08,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:52:08,780 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:52:28,046 WARN L286 SmtUtils]: Spent 19.26s 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-07 23:52:28,172 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:52:28,173 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2024-11-07 23:52:28,173 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=904, Unknown=0, NotChecked=0, Total=992 [2024-11-07 23:52:28,173 INFO L87 Difference]: Start difference. First operand 132 states and 135 transitions. cyclomatic complexity: 6 Second operand has 32 states, 31 states have (on average 2.7096774193548385) internal successors, (84), 32 states have internal predecessors, (84), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:52:28,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:52:28,946 INFO L93 Difference]: Finished difference Result 194 states and 198 transitions. [2024-11-07 23:52:28,946 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 194 states and 198 transitions. [2024-11-07 23:52:28,946 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-07 23:52:28,947 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 194 states to 139 states and 142 transitions. [2024-11-07 23:52:28,947 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 64 [2024-11-07 23:52:28,947 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 64 [2024-11-07 23:52:28,947 INFO L73 IsDeterministic]: Start isDeterministic. Operand 139 states and 142 transitions. [2024-11-07 23:52:28,947 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:52:28,947 INFO L218 hiAutomatonCegarLoop]: Abstraction has 139 states and 142 transitions. [2024-11-07 23:52:28,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states and 142 transitions. [2024-11-07 23:52:28,949 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 136. [2024-11-07 23:52:28,949 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-07 23:52:28,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 139 transitions. [2024-11-07 23:52:28,949 INFO L240 hiAutomatonCegarLoop]: Abstraction has 136 states and 139 transitions. [2024-11-07 23:52:28,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2024-11-07 23:52:28,950 INFO L425 stractBuchiCegarLoop]: Abstraction has 136 states and 139 transitions. [2024-11-07 23:52:28,950 INFO L332 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2024-11-07 23:52:28,950 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 136 states and 139 transitions. [2024-11-07 23:52:28,950 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-07 23:52:28,950 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:52:28,950 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:52:28,951 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [20, 20, 20, 18, 2, 1, 1, 1, 1] [2024-11-07 23:52:28,951 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 13, 12, 1] [2024-11-07 23:52:28,951 INFO L745 eck$LassoCheckResult]: Stem: 7220#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 7221#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 7222#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 7208#L552-2 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#1(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; 7209#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7217#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7224#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7294#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; 7218#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7219#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7212#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7213#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; 7216#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7293#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7292#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7291#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; 7290#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7289#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7288#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7287#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; 7286#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7285#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7284#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7283#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; 7282#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7233#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7281#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7235#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; 7232#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7231#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7230#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7228#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); 7229#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7280#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7279#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7278#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; 7277#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7276#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7275#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7274#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; 7273#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7272#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7271#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7270#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; 7269#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7268#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7267#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7266#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; 7265#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7264#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7263#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7262#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; 7261#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7260#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7259#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7258#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; 7257#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7256#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7255#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7254#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; 7253#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7252#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7251#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7250#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; 7249#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7248#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7247#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7246#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; 7245#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7244#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7243#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7242#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; 7241#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7240#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7239#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7238#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; 7237#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7227#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7236#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7234#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; 7225#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7226#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7299#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7295#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); 7296#L556-2 [2024-11-07 23:52:28,951 INFO L747 eck$LassoCheckResult]: Loop: 7296#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7343#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7342#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7214#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; 7215#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7223#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7210#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7211#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; 7341#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7340#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7339#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7338#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; 7337#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7336#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7335#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7334#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; 7333#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7332#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7331#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7330#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; 7329#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7328#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7327#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7326#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; 7325#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7324#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7323#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7322#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; 7321#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7320#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7319#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7318#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; 7317#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7316#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7315#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7314#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; 7313#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7312#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7311#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7310#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; 7309#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7308#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7307#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7306#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; 7305#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7304#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7303#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7302#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; 7298#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 7301#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 7300#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 7297#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); 7296#L556-2 [2024-11-07 23:52:28,951 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:52:28,951 INFO L85 PathProgramCache]: Analyzing trace with hash -819733595, now seen corresponding path program 17 times [2024-11-07 23:52:28,951 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:52:28,952 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [833138568] [2024-11-07 23:52:28,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:52:28,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:52:28,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-07 23:52:30,469 INFO L134 CoverageAnalysis]: Checked inductivity of 760 backedges. 4 proven. 716 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2024-11-07 23:52:30,469 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-07 23:52:30,469 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [833138568] [2024-11-07 23:52:30,469 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [833138568] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-07 23:52:30,469 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [689156467] [2024-11-07 23:52:30,469 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-07 23:52:30,469 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-07 23:52:30,470 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2024-11-07 23:52:30,471 INFO L229 MonitoredProcess]: Starting monitored process 78 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-07 23:52:30,472 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (78)] Waiting until timeout for monitored process [2024-11-07 23:52:31,149 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 20 check-sat command(s) [2024-11-07 23:52:31,149 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-07 23:52:31,154 INFO L255 TraceCheckSpWp]: Trace formula consists of 837 conjuncts, 72 conjuncts are in the unsatisfiable core [2024-11-07 23:52:31,159 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-07 23:52:31,162 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-07 23:52:31,170 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-07 23:52:31,176 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-07 23:52:31,185 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-07 23:52:31,197 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-07 23:52:31,204 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-07 23:52:31,237 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-07 23:52:31,268 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-07 23:52:31,322 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-07 23:52:31,352 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-07 23:52:31,357 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-07 23:52:31,363 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-07 23:52:31,368 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-07 23:52:31,374 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-07 23:52:31,380 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-07 23:52:31,412 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-07 23:52:31,417 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-07 23:52:31,418 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-07 23:52:31,419 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-07 23:52:31,419 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-07 23:52:31,529 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-07 23:52:31,669 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-07 23:52:31,702 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-07 23:52:31,702 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [689156467] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-07 23:52:31,702 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-07 23:52:31,702 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 32 [2024-11-07 23:52:31,702 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [541148644] [2024-11-07 23:52:31,702 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-07 23:52:31,702 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-07 23:52:31,702 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:52:31,703 INFO L85 PathProgramCache]: Analyzing trace with hash -56188943, now seen corresponding path program 12 times [2024-11-07 23:52:31,703 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:52:31,703 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [351133878] [2024-11-07 23:52:31,703 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:52:31,703 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:52:31,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:52:31,718 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-07 23:52:31,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-07 23:52:31,728 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-07 23:52:51,327 WARN L286 SmtUtils]: Spent 19.60s 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-07 23:52:51,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-07 23:52:51,443 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2024-11-07 23:52:51,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=967, Unknown=0, NotChecked=0, Total=1056 [2024-11-07 23:52:51,443 INFO L87 Difference]: Start difference. First operand 136 states and 139 transitions. cyclomatic complexity: 6 Second operand has 33 states, 32 states have (on average 2.75) internal successors, (88), 33 states have internal predecessors, (88), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:52:52,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-07 23:52:52,395 INFO L93 Difference]: Finished difference Result 198 states and 202 transitions. [2024-11-07 23:52:52,395 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 198 states and 202 transitions. [2024-11-07 23:52:52,396 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-07 23:52:52,397 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 198 states to 143 states and 146 transitions. [2024-11-07 23:52:52,397 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 64 [2024-11-07 23:52:52,397 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 64 [2024-11-07 23:52:52,397 INFO L73 IsDeterministic]: Start isDeterministic. Operand 143 states and 146 transitions. [2024-11-07 23:52:52,397 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-07 23:52:52,397 INFO L218 hiAutomatonCegarLoop]: Abstraction has 143 states and 146 transitions. [2024-11-07 23:52:52,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states and 146 transitions. [2024-11-07 23:52:52,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 140. [2024-11-07 23:52:52,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 140 states, 140 states have (on average 1.0214285714285714) internal successors, (143), 139 states have internal predecessors, (143), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-07 23:52:52,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 143 transitions. [2024-11-07 23:52:52,399 INFO L240 hiAutomatonCegarLoop]: Abstraction has 140 states and 143 transitions. [2024-11-07 23:52:52,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2024-11-07 23:52:52,400 INFO L425 stractBuchiCegarLoop]: Abstraction has 140 states and 143 transitions. [2024-11-07 23:52:52,400 INFO L332 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2024-11-07 23:52:52,400 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 140 states and 143 transitions. [2024-11-07 23:52:52,400 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 52 [2024-11-07 23:52:52,400 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-07 23:52:52,400 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-07 23:52:52,401 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [21, 21, 21, 19, 2, 1, 1, 1, 1] [2024-11-07 23:52:52,401 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 13, 12, 1] [2024-11-07 23:52:52,401 INFO L745 eck$LassoCheckResult]: Stem: 8142#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 8143#L-1 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#1(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#2(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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short9#1 := 0 <= main_#t~mem6#1; 8144#L552 assume main_#t~short9#1;call main_#t~mem7#1 := read~int#1(main_~id~0#1.base, main_~id~0#1.offset, 4);call main_#t~mem8#1 := read~int#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4);main_#t~short9#1 := main_#t~mem7#1 < main_#t~mem8#1; 8130#L552-2 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#1(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; 8131#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8139#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8146#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8220#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; 8140#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8141#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8134#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8135#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; 8138#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8219#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8218#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8217#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; 8216#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8215#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8214#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8213#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; 8212#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8211#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8210#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8209#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; 8208#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8207#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8206#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8205#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; 8204#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8155#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8203#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8157#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; 8154#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8153#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8152#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8150#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); 8151#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8202#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8201#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8200#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; 8199#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8198#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8197#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8196#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; 8195#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8194#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8193#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8192#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; 8191#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8190#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8189#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8188#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; 8187#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8186#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8185#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8184#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; 8183#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8182#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8181#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8180#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; 8179#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8178#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8177#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8176#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; 8175#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8174#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8173#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8172#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; 8171#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8170#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8169#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8168#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; 8167#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8166#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8165#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8164#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; 8163#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8162#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8161#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8160#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; 8159#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8149#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8158#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8156#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; 8147#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8148#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8225#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8221#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); 8222#L556-2 [2024-11-07 23:52:52,401 INFO L747 eck$LassoCheckResult]: Loop: 8222#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8269#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8268#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8136#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; 8137#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8145#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8132#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8133#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; 8267#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8266#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8265#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8264#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; 8263#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8262#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8261#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8260#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; 8259#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8258#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8257#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8256#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; 8255#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8254#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8253#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8252#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; 8251#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8250#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8249#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8248#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; 8247#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8246#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8245#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8244#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; 8243#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8242#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8241#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8240#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; 8239#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8238#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8237#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8236#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; 8235#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8234#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8233#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8232#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; 8231#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8230#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8229#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8228#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; 8224#L556-2 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#1(main_~id~0#1.base, main_~id~0#1.offset, 4);main_#t~short15#1 := main_#t~mem12#1 != main_#t~mem13#1; 8227#L555-1 assume main_#t~short15#1;havoc main_#t~nondet14#1;main_#t~short15#1 := 0 != main_#t~nondet14#1; 8226#L555-3 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#2(main_~maxId~0#1.base, main_~maxId~0#1.offset, 4); 8223#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); 8222#L556-2 [2024-11-07 23:52:52,401 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-07 23:52:52,401 INFO L85 PathProgramCache]: Analyzing trace with hash 1812739019, now seen corresponding path program 18 times [2024-11-07 23:52:52,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-07 23:52:52,402 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1577388152] [2024-11-07 23:52:52,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-07 23:52:52,402 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-07 23:52:52,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat