/root/.sdkman/candidates/java/21.0.5-tem/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/settings/gemcutter/Termination.epf -tc ../../../trunk/examples/toolchains/BuchiAutomizerBplInline.xml -i ../../../trunk/examples/concurrent/bpl/POPL2023/map-aggr-update2.bpl -------------------------------------------------------------------------------- This is Ultimate 0.3.0-wip.dk.ample-buchi-a4216cd-m [2025-04-26 18:39:06,582 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-04-26 18:39:06,637 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/settings/gemcutter/Termination.epf [2025-04-26 18:39:06,642 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-04-26 18:39:06,642 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-04-26 18:39:06,643 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.Check unreachability of error function in SV-COMP mode [2025-04-26 18:39:06,643 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.Translation Mode: [2025-04-26 18:39:06,664 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-04-26 18:39:06,664 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-04-26 18:39:06,665 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * Use SBE=true [2025-04-26 18:39:06,665 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * Use old map elimination=false [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-04-26 18:39:06,665 INFO L153 SettingsManager]: * Automaton type for concurrent programs=PARTIAL_ORDER_BA [2025-04-26 18:39:06,666 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * sizeof long=4 [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * sizeof long double=12 [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-04-26 18:39:06,666 INFO L153 SettingsManager]: * Use constant arrays=true [2025-04-26 18:39:06,666 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-04-26 18:39:06,668 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-04-26 18:39:06,668 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 [2025-04-26 18:39:06,668 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-04-26 18:39:06,668 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-04-26 18:39:06,668 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-04-26 18:39:06,668 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-04-26 18:39:06,668 INFO L153 SettingsManager]: * Use conditional POR in concurrent analysis=false [2025-04-26 18:39:06,668 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-04-26 18:39:06,668 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR [2025-04-26 18:39:06,868 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-04-26 18:39:06,875 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-04-26 18:39:06,877 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-04-26 18:39:06,878 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2025-04-26 18:39:06,878 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2025-04-26 18:39:06,880 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/POPL2023/map-aggr-update2.bpl [2025-04-26 18:39:06,881 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/POPL2023/map-aggr-update2.bpl' [2025-04-26 18:39:06,900 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-04-26 18:39:06,903 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2025-04-26 18:39:06,903 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-04-26 18:39:06,904 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-04-26 18:39:06,904 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-04-26 18:39:06,912 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,932 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,940 INFO L138 Inliner]: procedures = 4, calls = 3, calls flagged for inlining = 0, calls inlined = 0, statements flattened = 0 [2025-04-26 18:39:06,941 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-04-26 18:39:06,942 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-04-26 18:39:06,942 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-04-26 18:39:06,942 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-04-26 18:39:06,946 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,947 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,949 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,949 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,952 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,952 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,955 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,957 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,957 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,968 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-04-26 18:39:06,969 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-04-26 18:39:06,969 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-04-26 18:39:06,969 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-04-26 18:39:06,972 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/1) ... [2025-04-26 18:39:06,976 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 [2025-04-26 18:39:06,987 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:07,000 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:07,002 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-04-26 18:39:07,026 INFO L124 BoogieDeclarations]: Specification and implementation of procedure thread1 given in one single declaration [2025-04-26 18:39:07,026 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-04-26 18:39:07,026 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-04-26 18:39:07,026 INFO L124 BoogieDeclarations]: Specification and implementation of procedure thread2 given in one single declaration [2025-04-26 18:39:07,026 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-04-26 18:39:07,026 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-04-26 18:39:07,026 INFO L124 BoogieDeclarations]: Specification and implementation of procedure thread3 given in one single declaration [2025-04-26 18:39:07,026 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-04-26 18:39:07,026 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-04-26 18:39:07,026 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2025-04-26 18:39:07,026 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-04-26 18:39:07,027 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-04-26 18:39:07,027 WARN L203 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-04-26 18:39:07,059 INFO L234 CfgBuilder]: Building ICFG [2025-04-26 18:39:07,060 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-04-26 18:39:07,149 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-04-26 18:39:07,150 INFO L283 CfgBuilder]: Performing block encoding [2025-04-26 18:39:07,171 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-04-26 18:39:07,171 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-04-26 18:39:07,172 INFO L201 PluginConnector]: Adding new model map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.04 06:39:07 BoogieIcfgContainer [2025-04-26 18:39:07,172 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-04-26 18:39:07,172 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-04-26 18:39:07,173 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-04-26 18:39:07,176 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-04-26 18:39:07,177 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-04-26 18:39:07,177 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 26.04 06:39:06" (1/2) ... [2025-04-26 18:39:07,177 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@f042f68 and model type map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.04 06:39:07, skipping insertion in model container [2025-04-26 18:39:07,178 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-04-26 18:39:07,178 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.04 06:39:07" (2/2) ... [2025-04-26 18:39:07,178 INFO L376 chiAutomizerObserver]: Analyzing ICFG map-aggr-update2.bpl [2025-04-26 18:39:07,230 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-04-26 18:39:07,269 INFO L125 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-04-26 18:39:07,269 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2025-04-26 18:39:07,269 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:07,279 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:07,280 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2025-04-26 18:39:07,335 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 39 places, 35 transitions, 91 flow [2025-04-26 18:39:07,355 INFO L116 PetriNetUnfolderBase]: 3/29 cut-off events. [2025-04-26 18:39:07,358 INFO L117 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-04-26 18:39:07,363 INFO L83 FinitePrefix]: Finished finitePrefix Result has 42 conditions, 29 events. 3/29 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 58 event pairs, 0 based on Foata normal form. 0/25 useless extension candidates. Maximal degree in co-relation 25. Up to 2 conditions per place. [2025-04-26 18:39:07,363 INFO L82 GeneralOperation]: Start removeDead. Operand has 39 places, 35 transitions, 91 flow [2025-04-26 18:39:07,367 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 36 places, 29 transitions, 76 flow [2025-04-26 18:39:07,368 INFO L84 lAbstractionProvider]: Constructed initial Petri net abstraction that has has 36 places, 29 transitions, 76 flow [2025-04-26 18:39:07,368 INFO L113 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 36 places, 29 transitions, 76 flow [2025-04-26 18:39:07,423 INFO L135 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 354 states, 352 states have (on average 2.9488636363636362) internal successors, (in total 1038), 353 states have internal predecessors, (1038), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:07,424 INFO L171 actionProvider$Eager]: Constructed initial Büchi automaton abstraction (from Petri net) that has 354 states, 352 states have (on average 2.9488636363636362) internal successors, (in total 1038), 353 states have internal predecessors, (1038), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:07,426 INFO L135 AmpleReduction]: Starting ample reduction [2025-04-26 18:39:07,547 WARN L140 AmpleReduction]: Number of pruned transitions: 258 [2025-04-26 18:39:07,547 WARN L141 AmpleReduction]: Loop nodes with "changing loop node status": 0 [2025-04-26 18:39:07,547 WARN L142 AmpleReduction]: Number of trivial sets caused by loops: 48 [2025-04-26 18:39:07,547 WARN L143 AmpleReduction]: Number of not loop caused trivial ample sets:24 [2025-04-26 18:39:07,547 WARN L144 AmpleReduction]: Number of initially assigned non-trivial ample sets:143 [2025-04-26 18:39:07,547 WARN L145 AmpleReduction]: Times succ was already a loop node:18 [2025-04-26 18:39:07,547 WARN L146 AmpleReduction]: Times some other node on the cycle already had a trivial ample set:74 [2025-04-26 18:39:07,547 INFO L149 AmpleReduction]: Finished ample reduction [2025-04-26 18:39:07,548 INFO L136 dAbstractionProvider]: Constructed initial ample set-reduced NBA abstraction that has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:07,554 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-04-26 18:39:07,554 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-04-26 18:39:07,554 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-04-26 18:39:07,555 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-04-26 18:39:07,555 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-04-26 18:39:07,555 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-04-26 18:39:07,555 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-04-26 18:39:07,555 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-04-26 18:39:07,556 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:07,571 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 161 [2025-04-26 18:39:07,571 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:07,571 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:07,575 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2025-04-26 18:39:07,575 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:07,575 INFO L340 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-04-26 18:39:07,576 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:07,580 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 161 [2025-04-26 18:39:07,580 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:07,580 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:07,580 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2025-04-26 18:39:07,580 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:07,584 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" [2025-04-26 18:39:07,584 INFO L754 eck$LassoCheckResult]: Loop: "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" [2025-04-26 18:39:07,588 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:07,588 INFO L85 PathProgramCache]: Analyzing trace with hash 119101, now seen corresponding path program 1 times [2025-04-26 18:39:07,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:07,593 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [247040543] [2025-04-26 18:39:07,593 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:07,593 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:07,636 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:07,645 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:07,645 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:07,645 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:07,646 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:07,649 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:07,650 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:07,651 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:07,651 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:07,674 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:07,678 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:07,678 INFO L85 PathProgramCache]: Analyzing trace with hash 123198, now seen corresponding path program 1 times [2025-04-26 18:39:07,678 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:07,678 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [651229923] [2025-04-26 18:39:07,678 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:07,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:07,685 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:07,692 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:07,692 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:07,692 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:07,693 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:07,695 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:07,698 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:07,698 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:07,698 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:07,700 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:07,701 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:07,701 INFO L85 PathProgramCache]: Analyzing trace with hash -746735998, now seen corresponding path program 1 times [2025-04-26 18:39:07,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:07,702 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [178508053] [2025-04-26 18:39:07,702 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:07,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:07,706 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-04-26 18:39:07,709 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-04-26 18:39:07,709 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:07,709 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:07,709 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:07,711 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-04-26 18:39:07,715 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-04-26 18:39:07,715 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:07,715 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:07,718 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:07,848 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:07,849 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:07,849 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:07,849 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:07,849 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:07,850 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:07,850 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:07,850 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:07,850 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration1_Lasso [2025-04-26 18:39:07,850 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:07,850 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:07,867 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:07,940 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:07,984 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:07,986 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:07,987 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:07,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:07,989 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:07,991 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2025-04-26 18:39:07,993 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:08,004 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:08,004 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:08,005 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:08,005 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:08,005 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:08,009 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:08,009 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:08,011 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:08,018 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:08,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:08,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:08,020 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:08,022 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2025-04-26 18:39:08,023 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:08,033 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:08,034 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:08,034 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:08,034 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:08,040 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:08,041 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:08,050 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:08,064 INFO L436 ModelExtractionUtils]: Simplification made 10 calls to the SMT solver. [2025-04-26 18:39:08,065 INFO L437 ModelExtractionUtils]: 5 out of 13 variables were initially zero. Simplification set additionally 5 variables to zero. [2025-04-26 18:39:08,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:08,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:08,069 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:08,071 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2025-04-26 18:39:08,071 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:08,088 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2025-04-26 18:39:08,090 INFO L439 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-04-26 18:39:08,090 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:08,090 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, thread1Thread1of1ForFork2_i) = 1*N - 1*thread1Thread1of1ForFork2_i Supporting invariants [] [2025-04-26 18:39:08,097 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:08,104 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-04-26 18:39:08,120 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:08,125 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:08,127 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:08,127 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,127 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:08,128 INFO L256 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:39:08,128 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:08,138 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:08,140 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:08,140 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,140 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:08,140 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-04-26 18:39:08,141 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:08,164 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:08,185 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 [2025-04-26 18:39:08,187 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Second operand has 3 states, 3 states have (on average 2.0) internal successors, (in total 6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:08,297 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 216 states, 214 states have (on average 1.7102803738317758) internal successors, (in total 366), 215 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0). Second operand has 3 states, 3 states have (on average 2.0) internal successors, (in total 6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 471 states and 818 transitions. Complement of second has 6 states. [2025-04-26 18:39:08,299 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-04-26 18:39:08,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.0) internal successors, (in total 6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:08,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 58 transitions. [2025-04-26 18:39:08,309 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 58 transitions. Stem has 3 letters. Loop has 3 letters. [2025-04-26 18:39:08,310 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:08,310 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 58 transitions. Stem has 6 letters. Loop has 3 letters. [2025-04-26 18:39:08,310 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:08,310 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 58 transitions. Stem has 3 letters. Loop has 6 letters. [2025-04-26 18:39:08,310 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:08,311 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 471 states and 818 transitions. [2025-04-26 18:39:08,317 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 50 [2025-04-26 18:39:08,321 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 471 states to 236 states and 396 transitions. [2025-04-26 18:39:08,322 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 74 [2025-04-26 18:39:08,322 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 119 [2025-04-26 18:39:08,325 INFO L74 IsDeterministic]: Start isDeterministic. Operand 236 states and 396 transitions. [2025-04-26 18:39:08,326 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:08,326 INFO L218 hiAutomatonCegarLoop]: Abstraction has 236 states and 396 transitions. [2025-04-26 18:39:08,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 236 states and 396 transitions. [2025-04-26 18:39:08,353 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 236 to 210. [2025-04-26 18:39:08,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 210 states have (on average 1.7) internal successors, (in total 357), 209 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:08,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 357 transitions. [2025-04-26 18:39:08,355 INFO L240 hiAutomatonCegarLoop]: Abstraction has 210 states and 357 transitions. [2025-04-26 18:39:08,355 INFO L438 stractBuchiCegarLoop]: Abstraction has 210 states and 357 transitions. [2025-04-26 18:39:08,355 INFO L340 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-04-26 18:39:08,355 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 210 states and 357 transitions. [2025-04-26 18:39:08,357 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 50 [2025-04-26 18:39:08,357 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:08,357 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:08,357 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:08,357 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:08,357 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" [2025-04-26 18:39:08,358 INFO L754 eck$LassoCheckResult]: Loop: "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" [2025-04-26 18:39:08,358 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:08,358 INFO L85 PathProgramCache]: Analyzing trace with hash -354690445, now seen corresponding path program 1 times [2025-04-26 18:39:08,358 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:08,358 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1025262148] [2025-04-26 18:39:08,358 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:08,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:08,361 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-04-26 18:39:08,363 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-04-26 18:39:08,364 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,364 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:08,403 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:08,403 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:08,403 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1025262148] [2025-04-26 18:39:08,403 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1025262148] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-26 18:39:08,403 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-26 18:39:08,405 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-04-26 18:39:08,405 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1048022231] [2025-04-26 18:39:08,405 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-26 18:39:08,406 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:39:08,407 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:08,407 INFO L85 PathProgramCache]: Analyzing trace with hash 130149, now seen corresponding path program 1 times [2025-04-26 18:39:08,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:08,407 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1592512714] [2025-04-26 18:39:08,407 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:08,407 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:08,409 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:08,412 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:08,412 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,412 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:08,412 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:08,414 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:08,415 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:08,416 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,416 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:08,420 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:08,516 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:08,517 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-04-26 18:39:08,517 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-04-26 18:39:08,518 INFO L87 Difference]: Start difference. First operand 210 states and 357 transitions. cyclomatic complexity: 176 Second operand has 4 states, 4 states have (on average 2.0) internal successors, (in total 8), 3 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:08,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:08,569 INFO L93 Difference]: Finished difference Result 210 states and 356 transitions. [2025-04-26 18:39:08,569 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 210 states and 356 transitions. [2025-04-26 18:39:08,571 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 50 [2025-04-26 18:39:08,575 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 210 states to 210 states and 356 transitions. [2025-04-26 18:39:08,575 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 93 [2025-04-26 18:39:08,575 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 93 [2025-04-26 18:39:08,576 INFO L74 IsDeterministic]: Start isDeterministic. Operand 210 states and 356 transitions. [2025-04-26 18:39:08,576 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:08,576 INFO L218 hiAutomatonCegarLoop]: Abstraction has 210 states and 356 transitions. [2025-04-26 18:39:08,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states and 356 transitions. [2025-04-26 18:39:08,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 210. [2025-04-26 18:39:08,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 210 states have (on average 1.6952380952380952) internal successors, (in total 356), 209 states have internal predecessors, (356), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:08,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 356 transitions. [2025-04-26 18:39:08,583 INFO L240 hiAutomatonCegarLoop]: Abstraction has 210 states and 356 transitions. [2025-04-26 18:39:08,585 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-04-26 18:39:08,586 INFO L438 stractBuchiCegarLoop]: Abstraction has 210 states and 356 transitions. [2025-04-26 18:39:08,586 INFO L340 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-04-26 18:39:08,586 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 210 states and 356 transitions. [2025-04-26 18:39:08,587 INFO L131 ngComponentsAnalysis]: Automaton has 16 accepting balls. 50 [2025-04-26 18:39:08,587 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:08,587 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:08,587 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:08,587 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:08,588 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" [2025-04-26 18:39:08,588 INFO L754 eck$LassoCheckResult]: Loop: "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" [2025-04-26 18:39:08,588 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:08,588 INFO L85 PathProgramCache]: Analyzing trace with hash 1204123726, now seen corresponding path program 1 times [2025-04-26 18:39:08,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:08,588 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257212769] [2025-04-26 18:39:08,588 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:08,589 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:08,593 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-04-26 18:39:08,599 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-04-26 18:39:08,599 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,599 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:08,599 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:08,600 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-04-26 18:39:08,606 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-04-26 18:39:08,606 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,606 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:08,609 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:08,611 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:08,611 INFO L85 PathProgramCache]: Analyzing trace with hash 130149, now seen corresponding path program 2 times [2025-04-26 18:39:08,611 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:08,611 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1548132646] [2025-04-26 18:39:08,612 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:08,612 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:08,615 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:08,616 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:08,620 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:39:08,621 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:08,621 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:08,622 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:08,623 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:08,623 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,623 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:08,624 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:08,628 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:08,628 INFO L85 PathProgramCache]: Analyzing trace with hash 483165432, now seen corresponding path program 1 times [2025-04-26 18:39:08,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:08,628 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [882782695] [2025-04-26 18:39:08,628 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:08,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:08,635 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-04-26 18:39:08,640 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-04-26 18:39:08,641 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,641 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:08,641 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:08,642 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-04-26 18:39:08,648 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-04-26 18:39:08,648 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:08,648 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:08,650 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:08,840 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:08,840 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:08,840 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:08,840 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:08,840 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:08,840 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:08,840 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:08,840 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:08,840 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration3_Lasso [2025-04-26 18:39:08,840 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:08,840 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:08,842 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:08,850 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:08,852 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:08,967 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:08,970 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:09,226 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:09,227 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:09,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:09,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:09,230 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:09,231 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2025-04-26 18:39:09,232 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:09,242 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:09,242 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:09,243 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:09,243 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:09,246 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:09,246 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:09,249 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:09,254 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:09,255 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:09,255 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:09,256 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:09,257 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2025-04-26 18:39:09,258 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:09,267 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:09,267 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:09,267 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:09,268 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:09,270 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:09,270 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:09,273 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:09,279 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2025-04-26 18:39:09,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:09,280 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:09,281 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:09,283 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2025-04-26 18:39:09,286 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:09,296 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:09,297 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2025-04-26 18:39:09,297 INFO L204 nArgumentSynthesizer]: 3 loop disjuncts [2025-04-26 18:39:09,297 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:09,324 INFO L402 nArgumentSynthesizer]: We have 36 Motzkin's Theorem applications. [2025-04-26 18:39:09,324 INFO L403 nArgumentSynthesizer]: A total of 6 supporting invariants were added. [2025-04-26 18:39:09,368 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:09,409 INFO L436 ModelExtractionUtils]: Simplification made 16 calls to the SMT solver. [2025-04-26 18:39:09,410 INFO L437 ModelExtractionUtils]: 42 out of 57 variables were initially zero. Simplification set additionally 12 variables to zero. [2025-04-26 18:39:09,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:09,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:09,412 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:09,413 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2025-04-26 18:39:09,414 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:09,434 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2025-04-26 18:39:09,434 INFO L439 nArgumentSynthesizer]: Removed 6 redundant supporting invariants from a total of 6. [2025-04-26 18:39:09,434 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:09,434 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(thread2Thread1of1ForFork0_j, N) = -1*thread2Thread1of1ForFork0_j + 1*N Supporting invariants [] [2025-04-26 18:39:09,443 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:09,444 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-04-26 18:39:09,454 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,457 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-04-26 18:39:09,459 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-04-26 18:39:09,459 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,459 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:09,460 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:39:09,461 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:09,474 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:09,476 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:09,477 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,477 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:09,477 WARN L254 TraceCheckSpWp]: Trace formula consists of 7 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-04-26 18:39:09,477 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:09,489 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:09,489 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 [2025-04-26 18:39:09,490 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 210 states and 356 transitions. cyclomatic complexity: 175 Second operand has 3 states, 3 states have (on average 4.666666666666667) internal successors, (in total 14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:09,538 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 210 states and 356 transitions. cyclomatic complexity: 175. Second operand has 3 states, 3 states have (on average 4.666666666666667) internal successors, (in total 14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 441 states and 765 transitions. Complement of second has 6 states. [2025-04-26 18:39:09,539 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-04-26 18:39:09,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.666666666666667) internal successors, (in total 14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:09,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 59 transitions. [2025-04-26 18:39:09,540 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 59 transitions. Stem has 11 letters. Loop has 3 letters. [2025-04-26 18:39:09,540 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:09,540 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 59 transitions. Stem has 14 letters. Loop has 3 letters. [2025-04-26 18:39:09,540 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:09,540 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 59 transitions. Stem has 11 letters. Loop has 6 letters. [2025-04-26 18:39:09,540 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:09,541 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 441 states and 765 transitions. [2025-04-26 18:39:09,543 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 18:39:09,544 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 441 states to 243 states and 407 transitions. [2025-04-26 18:39:09,544 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 84 [2025-04-26 18:39:09,545 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 97 [2025-04-26 18:39:09,545 INFO L74 IsDeterministic]: Start isDeterministic. Operand 243 states and 407 transitions. [2025-04-26 18:39:09,545 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:09,545 INFO L218 hiAutomatonCegarLoop]: Abstraction has 243 states and 407 transitions. [2025-04-26 18:39:09,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 243 states and 407 transitions. [2025-04-26 18:39:09,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 243 to 230. [2025-04-26 18:39:09,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 230 states, 230 states have (on average 1.6956521739130435) internal successors, (in total 390), 229 states have internal predecessors, (390), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:09,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 390 transitions. [2025-04-26 18:39:09,551 INFO L240 hiAutomatonCegarLoop]: Abstraction has 230 states and 390 transitions. [2025-04-26 18:39:09,551 INFO L438 stractBuchiCegarLoop]: Abstraction has 230 states and 390 transitions. [2025-04-26 18:39:09,551 INFO L340 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-04-26 18:39:09,551 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 230 states and 390 transitions. [2025-04-26 18:39:09,552 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 18:39:09,552 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:09,552 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:09,552 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:09,552 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:09,553 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:09,553 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:09,553 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,553 INFO L85 PathProgramCache]: Analyzing trace with hash 2093196229, now seen corresponding path program 1 times [2025-04-26 18:39:09,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:09,553 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [411024723] [2025-04-26 18:39:09,553 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:09,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:09,559 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 15 statements into 1 equivalence classes. [2025-04-26 18:39:09,566 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 15 of 15 statements. [2025-04-26 18:39:09,566 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,566 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:09,623 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-04-26 18:39:09,623 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:09,623 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [411024723] [2025-04-26 18:39:09,623 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [411024723] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-26 18:39:09,623 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-26 18:39:09,623 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-04-26 18:39:09,623 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1708317790] [2025-04-26 18:39:09,624 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-26 18:39:09,624 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:39:09,624 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,624 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 1 times [2025-04-26 18:39:09,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:09,624 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [159726489] [2025-04-26 18:39:09,624 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:09,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:09,627 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:09,628 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:09,628 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,628 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,629 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:09,629 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:09,630 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:09,630 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,630 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,630 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:09,650 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:09,650 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-04-26 18:39:09,650 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-04-26 18:39:09,650 INFO L87 Difference]: Start difference. First operand 230 states and 390 transitions. cyclomatic complexity: 184 Second operand has 4 states, 4 states have (on average 3.75) internal successors, (in total 15), 3 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:09,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:09,693 INFO L93 Difference]: Finished difference Result 360 states and 596 transitions. [2025-04-26 18:39:09,693 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 360 states and 596 transitions. [2025-04-26 18:39:09,695 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 27 [2025-04-26 18:39:09,698 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 360 states to 360 states and 596 transitions. [2025-04-26 18:39:09,698 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 121 [2025-04-26 18:39:09,699 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 121 [2025-04-26 18:39:09,700 INFO L74 IsDeterministic]: Start isDeterministic. Operand 360 states and 596 transitions. [2025-04-26 18:39:09,700 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:09,700 INFO L218 hiAutomatonCegarLoop]: Abstraction has 360 states and 596 transitions. [2025-04-26 18:39:09,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 360 states and 596 transitions. [2025-04-26 18:39:09,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 360 to 255. [2025-04-26 18:39:09,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 255 states, 255 states have (on average 1.6901960784313725) internal successors, (in total 431), 254 states have internal predecessors, (431), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:09,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 255 states to 255 states and 431 transitions. [2025-04-26 18:39:09,710 INFO L240 hiAutomatonCegarLoop]: Abstraction has 255 states and 431 transitions. [2025-04-26 18:39:09,713 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-04-26 18:39:09,713 INFO L438 stractBuchiCegarLoop]: Abstraction has 255 states and 431 transitions. [2025-04-26 18:39:09,713 INFO L340 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-04-26 18:39:09,714 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 255 states and 431 transitions. [2025-04-26 18:39:09,714 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 18:39:09,715 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:09,715 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:09,715 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:09,715 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:09,715 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[120] thread1EXIT-->L37: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_4) InVars {thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_4} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_4} AuxVars[] AssignedVars[]" [2025-04-26 18:39:09,715 INFO L754 eck$LassoCheckResult]: Loop: "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" [2025-04-26 18:39:09,716 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,716 INFO L85 PathProgramCache]: Analyzing trace with hash 1919696563, now seen corresponding path program 1 times [2025-04-26 18:39:09,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:09,716 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [995763049] [2025-04-26 18:39:09,716 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:09,716 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:09,719 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:39:09,729 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:39:09,730 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,730 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,730 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:09,731 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-04-26 18:39:09,738 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-04-26 18:39:09,738 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,738 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,740 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:09,740 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,740 INFO L85 PathProgramCache]: Analyzing trace with hash 138057, now seen corresponding path program 2 times [2025-04-26 18:39:09,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:09,740 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1759550233] [2025-04-26 18:39:09,744 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:09,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:09,746 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:09,747 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:09,747 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:39:09,748 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,748 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:09,748 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:09,749 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:09,749 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,749 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,750 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:09,751 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,751 INFO L85 PathProgramCache]: Analyzing trace with hash -2104096937, now seen corresponding path program 1 times [2025-04-26 18:39:09,751 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:09,751 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1909757526] [2025-04-26 18:39:09,751 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:09,751 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:09,757 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 18:39:09,759 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 18:39:09,759 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,759 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:09,844 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:09,844 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:09,844 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1909757526] [2025-04-26 18:39:09,844 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1909757526] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-26 18:39:09,844 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-26 18:39:09,844 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-04-26 18:39:09,844 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [825357375] [2025-04-26 18:39:09,844 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-26 18:39:09,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:09,858 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-04-26 18:39:09,858 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2025-04-26 18:39:09,858 INFO L87 Difference]: Start difference. First operand 255 states and 431 transitions. cyclomatic complexity: 202 Second operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (in total 19), 7 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:09,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:09,937 INFO L93 Difference]: Finished difference Result 311 states and 499 transitions. [2025-04-26 18:39:09,937 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 311 states and 499 transitions. [2025-04-26 18:39:09,938 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 18:39:09,940 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 311 states to 272 states and 453 transitions. [2025-04-26 18:39:09,940 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 91 [2025-04-26 18:39:09,940 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 91 [2025-04-26 18:39:09,940 INFO L74 IsDeterministic]: Start isDeterministic. Operand 272 states and 453 transitions. [2025-04-26 18:39:09,940 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:09,940 INFO L218 hiAutomatonCegarLoop]: Abstraction has 272 states and 453 transitions. [2025-04-26 18:39:09,940 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states and 453 transitions. [2025-04-26 18:39:09,943 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 261. [2025-04-26 18:39:09,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 261 states, 261 states have (on average 1.6781609195402298) internal successors, (in total 438), 260 states have internal predecessors, (438), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:09,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 261 states to 261 states and 438 transitions. [2025-04-26 18:39:09,945 INFO L240 hiAutomatonCegarLoop]: Abstraction has 261 states and 438 transitions. [2025-04-26 18:39:09,946 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-04-26 18:39:09,947 INFO L438 stractBuchiCegarLoop]: Abstraction has 261 states and 438 transitions. [2025-04-26 18:39:09,947 INFO L340 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-04-26 18:39:09,947 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 261 states and 438 transitions. [2025-04-26 18:39:09,948 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 24 [2025-04-26 18:39:09,948 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:09,948 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:09,949 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:09,949 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:09,950 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[120] thread1EXIT-->L37: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_4) InVars {thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_4} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_4} AuxVars[] AssignedVars[]" [2025-04-26 18:39:09,950 INFO L754 eck$LassoCheckResult]: Loop: "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" [2025-04-26 18:39:09,950 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,950 INFO L85 PathProgramCache]: Analyzing trace with hash 1313649620, now seen corresponding path program 2 times [2025-04-26 18:39:09,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:09,950 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1028459169] [2025-04-26 18:39:09,950 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:09,950 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:09,954 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 19 statements into 2 equivalence classes. [2025-04-26 18:39:09,960 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 18:39:09,960 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:09,960 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,960 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:09,961 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 18:39:09,967 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 18:39:09,967 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,967 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,968 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:09,969 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,969 INFO L85 PathProgramCache]: Analyzing trace with hash 138057, now seen corresponding path program 3 times [2025-04-26 18:39:09,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:09,969 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1185567758] [2025-04-26 18:39:09,969 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:39:09,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:09,971 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:09,975 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:09,975 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-04-26 18:39:09,975 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,975 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:09,975 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:09,976 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:09,976 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,976 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,977 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:09,977 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:09,977 INFO L85 PathProgramCache]: Analyzing trace with hash -806063466, now seen corresponding path program 2 times [2025-04-26 18:39:09,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:09,977 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1509109311] [2025-04-26 18:39:09,977 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:09,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:09,979 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 22 statements into 2 equivalence classes. [2025-04-26 18:39:09,986 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:09,986 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:09,986 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,986 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:09,987 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:09,991 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:09,991 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:09,991 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:09,993 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:10,197 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:10,198 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:10,198 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:10,198 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:10,198 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:10,198 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:10,198 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:10,198 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:10,198 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration6_Lasso [2025-04-26 18:39:10,198 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:10,198 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:10,199 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,300 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,302 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,309 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,311 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,313 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,315 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,316 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,320 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,322 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,324 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,326 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:10,543 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:10,544 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:10,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:10,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:10,546 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:10,547 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2025-04-26 18:39:10,549 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:10,559 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:10,559 INFO L203 nArgumentSynthesizer]: 4 stem disjuncts [2025-04-26 18:39:10,559 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:10,559 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:10,563 INFO L402 nArgumentSynthesizer]: We have 12 Motzkin's Theorem applications. [2025-04-26 18:39:10,563 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:10,568 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:10,577 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:10,577 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:10,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:10,579 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:10,581 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2025-04-26 18:39:10,582 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:10,592 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:10,592 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:10,592 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:10,592 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:10,593 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:10,593 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:10,596 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:10,602 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Ended with exit code 0 [2025-04-26 18:39:10,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:10,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:10,604 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:10,605 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2025-04-26 18:39:10,606 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:10,615 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:10,616 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-04-26 18:39:10,616 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:10,616 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:10,616 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:10,616 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-04-26 18:39:10,616 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-04-26 18:39:10,617 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:10,622 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Ended with exit code 0 [2025-04-26 18:39:10,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:10,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:10,624 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:10,625 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2025-04-26 18:39:10,626 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:10,635 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:10,636 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:10,636 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:10,636 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:10,637 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:10,637 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:10,641 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:10,651 INFO L436 ModelExtractionUtils]: Simplification made 10 calls to the SMT solver. [2025-04-26 18:39:10,651 INFO L437 ModelExtractionUtils]: 0 out of 10 variables were initially zero. Simplification set additionally 7 variables to zero. [2025-04-26 18:39:10,652 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:10,652 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:10,653 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:10,655 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2025-04-26 18:39:10,656 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:10,672 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Ended with exit code 0 [2025-04-26 18:39:10,672 INFO L439 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-04-26 18:39:10,672 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:10,672 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(N, thread3Thread1of1ForFork1_k) = 1*N - 1*thread3Thread1of1ForFork1_k Supporting invariants [] [2025-04-26 18:39:10,678 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Ended with exit code 0 [2025-04-26 18:39:10,680 INFO L156 tatePredicateManager]: 1 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 18:39:10,689 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:10,695 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 18:39:10,699 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 18:39:10,699 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:10,699 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:10,699 INFO L256 TraceCheckSpWp]: Trace formula consists of 42 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:39:10,700 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:10,718 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:10,719 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:10,719 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:10,719 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:10,719 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-04-26 18:39:10,720 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:10,729 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:10,729 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 [2025-04-26 18:39:10,729 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 261 states and 438 transitions. cyclomatic complexity: 203 Second operand has 4 states, 4 states have (on average 4.75) internal successors, (in total 19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:10,762 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 261 states and 438 transitions. cyclomatic complexity: 203. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (in total 19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 288 states and 474 transitions. Complement of second has 6 states. [2025-04-26 18:39:10,762 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-04-26 18:39:10,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (in total 19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:10,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2025-04-26 18:39:10,763 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 34 transitions. Stem has 19 letters. Loop has 3 letters. [2025-04-26 18:39:10,763 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:10,763 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 34 transitions. Stem has 22 letters. Loop has 3 letters. [2025-04-26 18:39:10,763 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:10,763 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 34 transitions. Stem has 19 letters. Loop has 6 letters. [2025-04-26 18:39:10,763 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:10,764 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 288 states and 474 transitions. [2025-04-26 18:39:10,765 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:10,766 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 288 states to 190 states and 299 transitions. [2025-04-26 18:39:10,766 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2025-04-26 18:39:10,766 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 60 [2025-04-26 18:39:10,766 INFO L74 IsDeterministic]: Start isDeterministic. Operand 190 states and 299 transitions. [2025-04-26 18:39:10,766 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:10,766 INFO L218 hiAutomatonCegarLoop]: Abstraction has 190 states and 299 transitions. [2025-04-26 18:39:10,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 190 states and 299 transitions. [2025-04-26 18:39:10,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 190 to 179. [2025-04-26 18:39:10,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 179 states, 179 states have (on average 1.6089385474860336) internal successors, (in total 288), 178 states have internal predecessors, (288), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:10,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 288 transitions. [2025-04-26 18:39:10,769 INFO L240 hiAutomatonCegarLoop]: Abstraction has 179 states and 288 transitions. [2025-04-26 18:39:10,769 INFO L438 stractBuchiCegarLoop]: Abstraction has 179 states and 288 transitions. [2025-04-26 18:39:10,769 INFO L340 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-04-26 18:39:10,769 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 179 states and 288 transitions. [2025-04-26 18:39:10,770 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:10,770 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:10,770 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:10,770 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:10,770 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:10,771 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" [2025-04-26 18:39:10,771 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:10,771 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:10,771 INFO L85 PathProgramCache]: Analyzing trace with hash 18408815, now seen corresponding path program 1 times [2025-04-26 18:39:10,771 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:10,771 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [77753200] [2025-04-26 18:39:10,771 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:10,771 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:10,774 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 18:39:10,776 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 18:39:10,776 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:10,776 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:10,823 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:10,824 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:10,824 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [77753200] [2025-04-26 18:39:10,824 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [77753200] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:39:10,824 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1726084332] [2025-04-26 18:39:10,824 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:10,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:39:10,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:10,826 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 18:39:10,827 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2025-04-26 18:39:10,847 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-26 18:39:10,851 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-26 18:39:10,851 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:10,851 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:10,851 INFO L256 TraceCheckSpWp]: Trace formula consists of 43 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:10,852 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:10,898 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:10,898 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:39:10,934 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:10,934 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1726084332] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:39:10,934 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:39:10,935 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 9 [2025-04-26 18:39:10,935 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769452318] [2025-04-26 18:39:10,935 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:39:10,935 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:39:10,935 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:10,935 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 4 times [2025-04-26 18:39:10,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:10,935 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [942180694] [2025-04-26 18:39:10,935 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 18:39:10,935 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:10,941 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 3 statements into 2 equivalence classes. [2025-04-26 18:39:10,942 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:10,942 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 18:39:10,942 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:10,942 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:10,942 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:10,942 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:10,943 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:10,943 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:10,943 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:10,959 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:10,959 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2025-04-26 18:39:10,959 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2025-04-26 18:39:10,959 INFO L87 Difference]: Start difference. First operand 179 states and 288 transitions. cyclomatic complexity: 126 Second operand has 10 states, 9 states have (on average 4.222222222222222) internal successors, (in total 38), 10 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:11,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:11,039 INFO L93 Difference]: Finished difference Result 340 states and 544 transitions. [2025-04-26 18:39:11,039 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 340 states and 544 transitions. [2025-04-26 18:39:11,041 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:11,042 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 340 states to 318 states and 508 transitions. [2025-04-26 18:39:11,042 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 83 [2025-04-26 18:39:11,042 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 83 [2025-04-26 18:39:11,042 INFO L74 IsDeterministic]: Start isDeterministic. Operand 318 states and 508 transitions. [2025-04-26 18:39:11,042 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:11,042 INFO L218 hiAutomatonCegarLoop]: Abstraction has 318 states and 508 transitions. [2025-04-26 18:39:11,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 318 states and 508 transitions. [2025-04-26 18:39:11,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 318 to 245. [2025-04-26 18:39:11,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 245 states have (on average 1.6040816326530611) internal successors, (in total 393), 244 states have internal predecessors, (393), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:11,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 393 transitions. [2025-04-26 18:39:11,048 INFO L240 hiAutomatonCegarLoop]: Abstraction has 245 states and 393 transitions. [2025-04-26 18:39:11,049 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-04-26 18:39:11,049 INFO L438 stractBuchiCegarLoop]: Abstraction has 245 states and 393 transitions. [2025-04-26 18:39:11,049 INFO L340 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-04-26 18:39:11,049 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 245 states and 393 transitions. [2025-04-26 18:39:11,050 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:11,050 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:11,050 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:11,051 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:11,051 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:11,051 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" [2025-04-26 18:39:11,051 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:11,052 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:11,052 INFO L85 PathProgramCache]: Analyzing trace with hash -1338674125, now seen corresponding path program 2 times [2025-04-26 18:39:11,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:11,052 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [775080891] [2025-04-26 18:39:11,052 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:11,052 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:11,055 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 22 statements into 2 equivalence classes. [2025-04-26 18:39:11,072 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:11,072 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:11,072 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:11,072 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:11,077 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:11,090 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:11,090 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:11,090 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:11,092 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:11,092 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:11,093 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 5 times [2025-04-26 18:39:11,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:11,093 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [28190036] [2025-04-26 18:39:11,093 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 18:39:11,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:11,095 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:11,096 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:11,096 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:39:11,096 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:11,096 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:11,097 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:11,097 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:11,097 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:11,097 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:11,098 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:11,098 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:11,098 INFO L85 PathProgramCache]: Analyzing trace with hash -1669408199, now seen corresponding path program 1 times [2025-04-26 18:39:11,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:11,098 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1037681247] [2025-04-26 18:39:11,098 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:11,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:11,104 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-26 18:39:11,109 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 18:39:11,109 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:11,109 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:11,109 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:11,111 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-26 18:39:11,115 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-26 18:39:11,116 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:11,116 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:11,117 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:11,640 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:11,640 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:11,640 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:11,640 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:11,640 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:11,640 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:11,640 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:11,640 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:11,641 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration8_Lasso [2025-04-26 18:39:11,641 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:11,641 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:11,643 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,645 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,647 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,649 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,652 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,653 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,655 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,657 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,658 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:11,901 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:12,072 WARN L137 XnfTransformerHelper]: expecting exponential blowup for input size 10 [2025-04-26 18:39:13,618 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:13,619 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:13,619 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,619 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,621 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,622 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2025-04-26 18:39:13,623 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,633 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,633 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,633 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,633 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,634 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,634 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,636 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:13,641 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:13,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,643 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2025-04-26 18:39:13,645 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,655 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,655 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,655 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,655 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,656 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,656 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,659 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:13,664 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Ended with exit code 0 [2025-04-26 18:39:13,664 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,666 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,667 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2025-04-26 18:39:13,668 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,677 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,678 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,678 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,678 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,679 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,679 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,682 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:13,688 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Ended with exit code 0 [2025-04-26 18:39:13,688 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,688 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,690 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,690 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2025-04-26 18:39:13,691 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,701 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,701 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,701 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,701 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,702 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,702 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,704 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:13,709 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Ended with exit code 0 [2025-04-26 18:39:13,709 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,711 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,717 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2025-04-26 18:39:13,717 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,727 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,728 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,728 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,728 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,729 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,729 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,731 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:13,736 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Ended with exit code 0 [2025-04-26 18:39:13,736 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,736 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,737 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,738 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2025-04-26 18:39:13,740 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,749 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,749 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,749 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,749 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,750 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,750 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,753 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:13,758 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Ended with exit code 0 [2025-04-26 18:39:13,759 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,759 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,760 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,762 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2025-04-26 18:39:13,763 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,773 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,773 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,773 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,773 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,774 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,774 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,777 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:13,783 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:13,783 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,783 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,785 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,786 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2025-04-26 18:39:13,788 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,797 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,798 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,798 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,798 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,799 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,799 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,801 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:13,807 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Ended with exit code 0 [2025-04-26 18:39:13,808 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,808 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,810 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,811 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2025-04-26 18:39:13,812 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:13,821 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:13,822 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:13,822 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:13,822 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:13,823 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:13,823 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:13,827 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:13,834 INFO L436 ModelExtractionUtils]: Simplification made 8 calls to the SMT solver. [2025-04-26 18:39:13,834 INFO L437 ModelExtractionUtils]: 0 out of 10 variables were initially zero. Simplification set additionally 7 variables to zero. [2025-04-26 18:39:13,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:13,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:13,836 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:13,837 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2025-04-26 18:39:13,837 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:13,853 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Ended with exit code 0 [2025-04-26 18:39:13,853 INFO L439 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2025-04-26 18:39:13,853 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:13,853 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(thread3Thread1of1ForFork1_k, N) = -1*thread3Thread1of1ForFork1_k + 1*N Supporting invariants [] [2025-04-26 18:39:13,859 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Ended with exit code 0 [2025-04-26 18:39:13,861 INFO L156 tatePredicateManager]: 1 out of 1 supporting invariants were superfluous and have been removed [2025-04-26 18:39:13,868 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:13,875 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-04-26 18:39:13,879 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-04-26 18:39:13,879 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:13,879 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:13,880 INFO L256 TraceCheckSpWp]: Trace formula consists of 48 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-04-26 18:39:13,881 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:13,903 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:13,904 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:13,904 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:13,904 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:13,905 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-04-26 18:39:13,905 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:13,915 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:13,916 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 [2025-04-26 18:39:13,916 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 245 states and 393 transitions. cyclomatic complexity: 171 Second operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (in total 19), 3 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:13,956 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 245 states and 393 transitions. cyclomatic complexity: 171. Second operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (in total 19), 3 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 402 states and 650 transitions. Complement of second has 7 states. [2025-04-26 18:39:13,956 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-04-26 18:39:13,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (in total 19), 3 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:13,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 46 transitions. [2025-04-26 18:39:13,957 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 46 transitions. Stem has 22 letters. Loop has 3 letters. [2025-04-26 18:39:13,957 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:13,957 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 46 transitions. Stem has 25 letters. Loop has 3 letters. [2025-04-26 18:39:13,957 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:13,957 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 4 states and 46 transitions. Stem has 22 letters. Loop has 6 letters. [2025-04-26 18:39:13,957 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:13,957 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 402 states and 650 transitions. [2025-04-26 18:39:13,959 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:13,960 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 402 states to 120 states and 172 transitions. [2025-04-26 18:39:13,960 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 41 [2025-04-26 18:39:13,960 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2025-04-26 18:39:13,960 INFO L74 IsDeterministic]: Start isDeterministic. Operand 120 states and 172 transitions. [2025-04-26 18:39:13,960 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:13,960 INFO L218 hiAutomatonCegarLoop]: Abstraction has 120 states and 172 transitions. [2025-04-26 18:39:13,960 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states and 172 transitions. [2025-04-26 18:39:13,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 115. [2025-04-26 18:39:13,962 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 115 states have (on average 1.4521739130434783) internal successors, (in total 167), 114 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:13,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 167 transitions. [2025-04-26 18:39:13,963 INFO L240 hiAutomatonCegarLoop]: Abstraction has 115 states and 167 transitions. [2025-04-26 18:39:13,963 INFO L438 stractBuchiCegarLoop]: Abstraction has 115 states and 167 transitions. [2025-04-26 18:39:13,963 INFO L340 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-04-26 18:39:13,963 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 115 states and 167 transitions. [2025-04-26 18:39:13,963 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:13,963 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:13,963 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:13,964 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:13,964 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:13,964 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:13,964 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:13,964 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:13,965 INFO L85 PathProgramCache]: Analyzing trace with hash -1706416498, now seen corresponding path program 1 times [2025-04-26 18:39:13,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:13,965 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [98339682] [2025-04-26 18:39:13,965 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:13,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:13,968 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 18:39:13,981 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 18:39:13,981 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:13,981 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:13,981 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:13,983 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 18:39:13,990 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 18:39:13,990 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:13,995 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:13,997 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:13,997 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:13,997 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 6 times [2025-04-26 18:39:13,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:13,997 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [362604239] [2025-04-26 18:39:13,997 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 18:39:13,997 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:14,001 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:14,002 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:14,002 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-04-26 18:39:14,002 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:14,002 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:14,003 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:14,004 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:14,004 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:14,004 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:14,005 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:14,005 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:14,005 INFO L85 PathProgramCache]: Analyzing trace with hash -620870146, now seen corresponding path program 1 times [2025-04-26 18:39:14,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:14,005 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1332720078] [2025-04-26 18:39:14,005 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-26 18:39:14,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:14,008 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 27 statements into 1 equivalence classes. [2025-04-26 18:39:14,013 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 18:39:14,013 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:14,013 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:14,013 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:14,014 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 27 statements into 1 equivalence classes. [2025-04-26 18:39:14,019 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 18:39:14,019 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:14,019 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:14,025 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:14,464 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:14,464 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:14,464 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:14,464 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:14,464 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:14,464 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:14,464 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:14,464 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:14,464 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration9_Lasso [2025-04-26 18:39:14,464 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:14,464 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:14,466 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,470 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,472 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,474 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,476 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,477 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,731 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,735 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,737 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,743 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:14,867 WARN L137 XnfTransformerHelper]: expecting exponential blowup for input size 10 [2025-04-26 18:39:16,179 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:39:16,179 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:39:16,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:16,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,181 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,182 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2025-04-26 18:39:16,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 [2025-04-26 18:39:16,192 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:16,193 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:16,193 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:16,193 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:16,193 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:16,194 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:16,196 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:16,201 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Ended with exit code 0 [2025-04-26 18:39:16,201 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:16,201 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,203 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,204 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2025-04-26 18:39:16,205 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:16,214 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:16,214 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:16,215 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:16,215 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:16,215 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:16,215 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:16,218 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:16,223 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Ended with exit code 0 [2025-04-26 18:39:16,223 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:16,223 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,225 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,225 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2025-04-26 18:39:16,226 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:16,236 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:16,236 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:16,236 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:16,236 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:16,237 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:16,237 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:16,240 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:16,245 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Ended with exit code 0 [2025-04-26 18:39:16,245 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:16,245 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,246 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,247 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2025-04-26 18:39:16,248 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:16,257 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:16,258 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:16,258 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:16,258 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:16,259 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:16,259 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:16,261 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:16,266 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:16,266 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:16,266 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,267 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,268 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Waiting until timeout for monitored process [2025-04-26 18:39:16,269 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:16,279 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:16,279 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:16,279 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:16,279 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:16,280 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:16,280 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:16,282 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:16,287 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Ended with exit code 0 [2025-04-26 18:39:16,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:16,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,288 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,289 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Waiting until timeout for monitored process [2025-04-26 18:39:16,290 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:16,300 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:16,300 INFO L203 nArgumentSynthesizer]: 11 stem disjuncts [2025-04-26 18:39:16,300 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:16,300 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:16,311 INFO L402 nArgumentSynthesizer]: We have 26 Motzkin's Theorem applications. [2025-04-26 18:39:16,311 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:16,325 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:39:16,331 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Ended with exit code 0 [2025-04-26 18:39:16,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:16,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,332 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Waiting until timeout for monitored process [2025-04-26 18:39:16,335 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:39:16,345 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:39:16,345 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:39:16,345 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:39:16,345 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:39:16,346 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:39:16,346 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:39:16,350 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:39:16,354 INFO L436 ModelExtractionUtils]: Simplification made 6 calls to the SMT solver. [2025-04-26 18:39:16,354 INFO L437 ModelExtractionUtils]: 2 out of 10 variables were initially zero. Simplification set additionally 3 variables to zero. [2025-04-26 18:39:16,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:16,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,355 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,356 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Waiting until timeout for monitored process [2025-04-26 18:39:16,357 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:39:16,372 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Ended with exit code 0 [2025-04-26 18:39:16,372 INFO L439 nArgumentSynthesizer]: Removed 1 redundant supporting invariants from a total of 2. [2025-04-26 18:39:16,372 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:39:16,372 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(thread3Thread1of1ForFork1_k) = -2*thread3Thread1of1ForFork1_k + 3 Supporting invariants [-1*N + 2 >= 0] [2025-04-26 18:39:16,377 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Forceful destruction successful, exit code 0 [2025-04-26 18:39:16,380 INFO L156 tatePredicateManager]: 1 out of 2 supporting invariants were superfluous and have been removed [2025-04-26 18:39:16,392 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:16,400 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-04-26 18:39:16,404 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-04-26 18:39:16,404 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:16,404 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:16,404 INFO L256 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-04-26 18:39:16,405 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:16,520 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:16,521 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:16,521 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:16,521 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:16,521 WARN L254 TraceCheckSpWp]: Trace formula consists of 9 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 18:39:16,522 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:16,537 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:16,537 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.5 stem predicates 2 loop predicates [2025-04-26 18:39:16,537 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 115 states and 167 transitions. cyclomatic complexity: 68 Second operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (in total 24), 7 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:16,617 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 115 states and 167 transitions. cyclomatic complexity: 68. Second operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (in total 24), 7 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 164 states and 228 transitions. Complement of second has 10 states. [2025-04-26 18:39:16,618 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 8 states 5 stem states 1 non-accepting loop states 2 accepting loop states [2025-04-26 18:39:16,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (in total 24), 7 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:16,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2025-04-26 18:39:16,618 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 52 transitions. Stem has 24 letters. Loop has 3 letters. [2025-04-26 18:39:16,618 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:16,618 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 52 transitions. Stem has 27 letters. Loop has 3 letters. [2025-04-26 18:39:16,619 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:16,619 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 8 states and 52 transitions. Stem has 24 letters. Loop has 6 letters. [2025-04-26 18:39:16,619 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:39:16,619 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 164 states and 228 transitions. [2025-04-26 18:39:16,620 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:16,620 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 164 states to 140 states and 198 transitions. [2025-04-26 18:39:16,620 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2025-04-26 18:39:16,620 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 41 [2025-04-26 18:39:16,620 INFO L74 IsDeterministic]: Start isDeterministic. Operand 140 states and 198 transitions. [2025-04-26 18:39:16,620 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:16,620 INFO L218 hiAutomatonCegarLoop]: Abstraction has 140 states and 198 transitions. [2025-04-26 18:39:16,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states and 198 transitions. [2025-04-26 18:39:16,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 125. [2025-04-26 18:39:16,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 125 states have (on average 1.44) internal successors, (in total 180), 124 states have internal predecessors, (180), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:16,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 180 transitions. [2025-04-26 18:39:16,622 INFO L240 hiAutomatonCegarLoop]: Abstraction has 125 states and 180 transitions. [2025-04-26 18:39:16,622 INFO L438 stractBuchiCegarLoop]: Abstraction has 125 states and 180 transitions. [2025-04-26 18:39:16,622 INFO L340 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-04-26 18:39:16,623 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 125 states and 180 transitions. [2025-04-26 18:39:16,623 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:16,623 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:16,623 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:16,623 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:16,623 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:16,624 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:16,624 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:16,624 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:16,624 INFO L85 PathProgramCache]: Analyzing trace with hash -202043035, now seen corresponding path program 2 times [2025-04-26 18:39:16,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:16,624 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [261825417] [2025-04-26 18:39:16,624 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:16,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:16,627 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 27 statements into 2 equivalence classes. [2025-04-26 18:39:16,630 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 18:39:16,630 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:16,630 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:16,685 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:16,685 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:16,685 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [261825417] [2025-04-26 18:39:16,685 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [261825417] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:39:16,685 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [175870858] [2025-04-26 18:39:16,685 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:16,685 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:39:16,685 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:16,687 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 18:39:16,688 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2025-04-26 18:39:16,707 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 27 statements into 2 equivalence classes. [2025-04-26 18:39:16,713 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 18:39:16,713 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:16,713 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:16,714 INFO L256 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-04-26 18:39:16,714 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:16,787 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:16,787 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:39:16,840 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:16,840 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [175870858] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:39:16,840 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:39:16,840 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 12 [2025-04-26 18:39:16,840 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1624394934] [2025-04-26 18:39:16,840 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:39:16,841 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:39:16,841 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:16,841 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 7 times [2025-04-26 18:39:16,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:16,841 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1382172854] [2025-04-26 18:39:16,841 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 18:39:16,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:16,843 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:16,844 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:16,844 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:16,844 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:16,844 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:16,844 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:16,844 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:16,844 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:16,844 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:16,845 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:16,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:16,858 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-04-26 18:39:16,858 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2025-04-26 18:39:16,858 INFO L87 Difference]: Start difference. First operand 125 states and 180 transitions. cyclomatic complexity: 71 Second operand has 12 states, 12 states have (on average 2.9166666666666665) internal successors, (in total 35), 12 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:16,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:16,955 INFO L93 Difference]: Finished difference Result 186 states and 263 transitions. [2025-04-26 18:39:16,955 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 186 states and 263 transitions. [2025-04-26 18:39:16,956 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:16,956 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 186 states to 182 states and 258 transitions. [2025-04-26 18:39:16,956 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2025-04-26 18:39:16,956 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2025-04-26 18:39:16,956 INFO L74 IsDeterministic]: Start isDeterministic. Operand 182 states and 258 transitions. [2025-04-26 18:39:16,957 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:16,957 INFO L218 hiAutomatonCegarLoop]: Abstraction has 182 states and 258 transitions. [2025-04-26 18:39:16,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states and 258 transitions. [2025-04-26 18:39:16,958 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 144. [2025-04-26 18:39:16,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 144 states have (on average 1.4305555555555556) internal successors, (in total 206), 143 states have internal predecessors, (206), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:16,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 206 transitions. [2025-04-26 18:39:16,959 INFO L240 hiAutomatonCegarLoop]: Abstraction has 144 states and 206 transitions. [2025-04-26 18:39:16,959 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2025-04-26 18:39:16,959 INFO L438 stractBuchiCegarLoop]: Abstraction has 144 states and 206 transitions. [2025-04-26 18:39:16,960 INFO L340 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-04-26 18:39:16,960 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 144 states and 206 transitions. [2025-04-26 18:39:16,960 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2025-04-26 18:39:16,960 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:16,960 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:16,960 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:16,960 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:16,961 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:16,961 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:16,961 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:16,961 INFO L85 PathProgramCache]: Analyzing trace with hash -1145812407, now seen corresponding path program 3 times [2025-04-26 18:39:16,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:16,961 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905823289] [2025-04-26 18:39:16,961 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:39:16,961 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:16,964 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 27 statements into 2 equivalence classes. [2025-04-26 18:39:16,966 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 18:39:16,966 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-04-26 18:39:16,967 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:17,038 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:17,039 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:39:17,039 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [905823289] [2025-04-26 18:39:17,039 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [905823289] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:39:17,039 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [636812811] [2025-04-26 18:39:17,039 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:39:17,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:39:17,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:39:17,041 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 18:39:17,042 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2025-04-26 18:39:17,064 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 27 statements into 2 equivalence classes. [2025-04-26 18:39:17,070 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 27 of 27 statements. [2025-04-26 18:39:17,070 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-04-26 18:39:17,070 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:39:17,070 INFO L256 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-04-26 18:39:17,072 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:39:17,146 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:17,146 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:39:17,199 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:39:17,199 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [636812811] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:39:17,199 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:39:17,199 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 17 [2025-04-26 18:39:17,199 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1898237930] [2025-04-26 18:39:17,199 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:39:17,199 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:39:17,200 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:17,200 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 8 times [2025-04-26 18:39:17,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:17,200 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019832450] [2025-04-26 18:39:17,200 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:17,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:17,202 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:17,202 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:17,202 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:39:17,202 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:17,203 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:17,203 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:17,203 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:17,203 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:17,203 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:17,204 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:17,217 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:39:17,218 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2025-04-26 18:39:17,218 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=202, Unknown=0, NotChecked=0, Total=272 [2025-04-26 18:39:17,218 INFO L87 Difference]: Start difference. First operand 144 states and 206 transitions. cyclomatic complexity: 81 Second operand has 17 states, 17 states have (on average 3.1176470588235294) internal successors, (in total 53), 17 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:17,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:39:17,499 INFO L93 Difference]: Finished difference Result 250 states and 318 transitions. [2025-04-26 18:39:17,499 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 250 states and 318 transitions. [2025-04-26 18:39:17,501 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:39:17,501 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 250 states to 236 states and 302 transitions. [2025-04-26 18:39:17,501 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2025-04-26 18:39:17,502 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2025-04-26 18:39:17,502 INFO L74 IsDeterministic]: Start isDeterministic. Operand 236 states and 302 transitions. [2025-04-26 18:39:17,502 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:39:17,502 INFO L218 hiAutomatonCegarLoop]: Abstraction has 236 states and 302 transitions. [2025-04-26 18:39:17,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 236 states and 302 transitions. [2025-04-26 18:39:17,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 236 to 70. [2025-04-26 18:39:17,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 70 states have (on average 1.2714285714285714) internal successors, (in total 89), 69 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:39:17,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 89 transitions. [2025-04-26 18:39:17,505 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70 states and 89 transitions. [2025-04-26 18:39:17,505 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2025-04-26 18:39:17,507 INFO L438 stractBuchiCegarLoop]: Abstraction has 70 states and 89 transitions. [2025-04-26 18:39:17,507 INFO L340 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-04-26 18:39:17,507 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70 states and 89 transitions. [2025-04-26 18:39:17,507 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:39:17,507 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:39:17,507 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:39:17,509 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:39:17,509 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:39:17,510 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:17,510 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:39:17,510 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:17,510 INFO L85 PathProgramCache]: Analyzing trace with hash -909870641, now seen corresponding path program 4 times [2025-04-26 18:39:17,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:17,510 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [509744884] [2025-04-26 18:39:17,510 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 18:39:17,510 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:17,515 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 30 statements into 2 equivalence classes. [2025-04-26 18:39:17,531 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 30 of 30 statements. [2025-04-26 18:39:17,531 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 18:39:17,531 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:17,531 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:17,535 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-04-26 18:39:17,542 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-04-26 18:39:17,542 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:17,542 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:17,547 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:17,547 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:17,547 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 9 times [2025-04-26 18:39:17,547 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:17,548 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [281479872] [2025-04-26 18:39:17,548 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:39:17,548 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:17,549 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:17,550 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:17,550 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-04-26 18:39:17,550 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:17,550 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:17,550 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:39:17,550 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:39:17,550 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:17,550 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:17,551 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:17,551 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:39:17,551 INFO L85 PathProgramCache]: Analyzing trace with hash -417554659, now seen corresponding path program 2 times [2025-04-26 18:39:17,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:39:17,551 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1885989112] [2025-04-26 18:39:17,551 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:39:17,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:39:17,554 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-04-26 18:39:17,560 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:39:17,561 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:39:17,561 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:17,561 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:39:17,562 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-04-26 18:39:17,568 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:39:17,568 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:39:17,568 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:39:17,570 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:39:18,506 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:39:18,506 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:39:18,506 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:39:18,506 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:39:18,506 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:39:18,506 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:39:18,507 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:39:18,507 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:39:18,507 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration12_Lasso [2025-04-26 18:39:18,507 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:39:18,507 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:39:18,538 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:18,542 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,468 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,470 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,472 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,473 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,475 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,477 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,479 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,482 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-04-26 18:39:22,715 WARN L137 XnfTransformerHelper]: expecting exponential blowup for input size 15 [2025-04-26 18:39:22,787 WARN L176 XnfTransformerHelper]: Simplifying disjunction of 10752 conjunctions. This might take some time... [2025-04-26 18:39:23,889 INFO L192 XnfTransformerHelper]: Simplified to disjunction of 1600 conjunctions. [2025-04-26 18:40:07,367 WARN L286 SmtUtils]: Spent 43.45s on a formula simplification. DAG size of input: 1656 DAG size of output: 78 (called from [L 67] de.uni_freiburg.informatik.ultimate.icfgtransformer.transformulatransformers.SimplifyPreprocessor.process) [2025-04-26 18:40:07,390 INFO L261 LassoAnalysis]: Preprocessing complete. [2025-04-26 18:40:07,391 INFO L453 LassoAnalysis]: Using template 'affine'. [2025-04-26 18:40:07,391 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:07,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:07,393 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:40:07,394 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Waiting until timeout for monitored process [2025-04-26 18:40:07,398 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:40:07,408 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:07,408 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:07,408 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:07,408 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:07,409 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:40:07,409 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:40:07,411 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:40:07,417 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:07,417 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:07,417 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:07,419 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:40:07,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Waiting until timeout for monitored process [2025-04-26 18:40:07,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 [2025-04-26 18:40:07,430 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:07,431 INFO L203 nArgumentSynthesizer]: 22 stem disjuncts [2025-04-26 18:40:07,431 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:07,431 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:07,456 INFO L402 nArgumentSynthesizer]: We have 48 Motzkin's Theorem applications. [2025-04-26 18:40:07,456 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:40:07,487 INFO L490 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-04-26 18:40:07,493 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:07,493 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:07,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:07,495 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:40:07,496 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Waiting until timeout for monitored process [2025-04-26 18:40:07,497 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-04-26 18:40:07,506 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-04-26 18:40:07,506 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-04-26 18:40:07,506 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-04-26 18:40:07,506 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-04-26 18:40:07,508 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-04-26 18:40:07,508 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-04-26 18:40:07,511 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-04-26 18:40:07,516 INFO L436 ModelExtractionUtils]: Simplification made 6 calls to the SMT solver. [2025-04-26 18:40:07,516 INFO L437 ModelExtractionUtils]: 0 out of 10 variables were initially zero. Simplification set additionally 5 variables to zero. [2025-04-26 18:40:07,516 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:07,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:07,518 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-04-26 18:40:07,519 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Waiting until timeout for monitored process [2025-04-26 18:40:07,519 INFO L436 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-04-26 18:40:07,535 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Ended with exit code 0 [2025-04-26 18:40:07,535 INFO L439 nArgumentSynthesizer]: Removed 1 redundant supporting invariants from a total of 2. [2025-04-26 18:40:07,535 INFO L476 LassoAnalysis]: Proved termination. [2025-04-26 18:40:07,535 INFO L478 LassoAnalysis]: Termination argument consisting of: Ranking function f(thread3Thread1of1ForFork1_k) = -2*thread3Thread1of1ForFork1_k + 5 Supporting invariants [-1*N + 3 >= 0] [2025-04-26 18:40:07,540 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Forceful destruction successful, exit code 0 [2025-04-26 18:40:07,544 INFO L156 tatePredicateManager]: 1 out of 2 supporting invariants were superfluous and have been removed [2025-04-26 18:40:07,559 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:07,563 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-04-26 18:40:07,570 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-04-26 18:40:07,570 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:07,571 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:07,571 INFO L256 TraceCheckSpWp]: Trace formula consists of 61 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-04-26 18:40:07,571 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:07,688 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:40:07,689 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:07,689 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:07,689 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:07,690 WARN L254 TraceCheckSpWp]: Trace formula consists of 9 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-04-26 18:40:07,690 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:07,702 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:07,703 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 [2025-04-26 18:40:07,703 INFO L70 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 70 states and 89 transitions. cyclomatic complexity: 24 Second operand has 8 states, 8 states have (on average 3.375) internal successors, (in total 27), 8 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:07,790 INFO L74 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 70 states and 89 transitions. cyclomatic complexity: 24. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (in total 27), 8 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) Result 133 states and 168 transitions. Complement of second has 11 states. [2025-04-26 18:40:07,790 INFO L140 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 9 states 6 stem states 1 non-accepting loop states 2 accepting loop states [2025-04-26 18:40:07,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (in total 27), 8 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:07,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 61 transitions. [2025-04-26 18:40:07,792 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 30 letters. Loop has 3 letters. [2025-04-26 18:40:07,792 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:07,792 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 33 letters. Loop has 3 letters. [2025-04-26 18:40:07,792 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:07,792 INFO L85 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 30 letters. Loop has 6 letters. [2025-04-26 18:40:07,792 INFO L117 BuchiAccepts]: Finished buchiAccepts. [2025-04-26 18:40:07,792 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 133 states and 168 transitions. [2025-04-26 18:40:07,793 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:40:07,793 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 133 states to 102 states and 129 transitions. [2025-04-26 18:40:07,793 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 23 [2025-04-26 18:40:07,793 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 24 [2025-04-26 18:40:07,793 INFO L74 IsDeterministic]: Start isDeterministic. Operand 102 states and 129 transitions. [2025-04-26 18:40:07,794 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:40:07,794 INFO L218 hiAutomatonCegarLoop]: Abstraction has 102 states and 129 transitions. [2025-04-26 18:40:07,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states and 129 transitions. [2025-04-26 18:40:07,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 85. [2025-04-26 18:40:07,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 85 states have (on average 1.2705882352941176) internal successors, (in total 108), 84 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:07,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 108 transitions. [2025-04-26 18:40:07,795 INFO L240 hiAutomatonCegarLoop]: Abstraction has 85 states and 108 transitions. [2025-04-26 18:40:07,795 INFO L438 stractBuchiCegarLoop]: Abstraction has 85 states and 108 transitions. [2025-04-26 18:40:07,795 INFO L340 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-04-26 18:40:07,795 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 85 states and 108 transitions. [2025-04-26 18:40:07,795 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:40:07,797 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:40:07,797 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:40:07,799 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:07,799 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:40:07,799 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:40:07,799 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:40:07,800 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:07,800 INFO L85 PathProgramCache]: Analyzing trace with hash 160865574, now seen corresponding path program 5 times [2025-04-26 18:40:07,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:07,800 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1306572428] [2025-04-26 18:40:07,800 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 18:40:07,800 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:07,803 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 4 equivalence classes. [2025-04-26 18:40:07,810 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:40:07,810 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2025-04-26 18:40:07,810 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:07,902 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 7 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:07,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:40:07,902 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1306572428] [2025-04-26 18:40:07,902 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1306572428] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:40:07,902 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [159394142] [2025-04-26 18:40:07,902 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 18:40:07,902 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:40:07,902 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:07,904 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 18:40:07,904 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2025-04-26 18:40:07,925 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 4 equivalence classes. [2025-04-26 18:40:07,932 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:40:07,933 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2025-04-26 18:40:07,933 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:07,933 INFO L256 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-04-26 18:40:07,934 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:07,999 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 7 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:07,999 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:40:08,056 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 7 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:08,057 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [159394142] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:40:08,057 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:40:08,057 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 15 [2025-04-26 18:40:08,057 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [371314343] [2025-04-26 18:40:08,057 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:40:08,057 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:40:08,057 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:08,057 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 10 times [2025-04-26 18:40:08,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:08,057 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1275568563] [2025-04-26 18:40:08,057 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-26 18:40:08,057 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:08,059 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 3 statements into 2 equivalence classes. [2025-04-26 18:40:08,060 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:08,060 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-04-26 18:40:08,060 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:08,060 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:08,060 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:40:08,061 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:08,061 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:08,061 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:08,062 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:08,073 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:40:08,073 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2025-04-26 18:40:08,073 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2025-04-26 18:40:08,073 INFO L87 Difference]: Start difference. First operand 85 states and 108 transitions. cyclomatic complexity: 28 Second operand has 15 states, 15 states have (on average 3.0) internal successors, (in total 45), 15 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:08,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:40:08,216 INFO L93 Difference]: Finished difference Result 191 states and 251 transitions. [2025-04-26 18:40:08,216 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 191 states and 251 transitions. [2025-04-26 18:40:08,217 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:40:08,217 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 191 states to 191 states and 251 transitions. [2025-04-26 18:40:08,217 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44 [2025-04-26 18:40:08,217 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2025-04-26 18:40:08,217 INFO L74 IsDeterministic]: Start isDeterministic. Operand 191 states and 251 transitions. [2025-04-26 18:40:08,217 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:40:08,217 INFO L218 hiAutomatonCegarLoop]: Abstraction has 191 states and 251 transitions. [2025-04-26 18:40:08,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states and 251 transitions. [2025-04-26 18:40:08,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 104. [2025-04-26 18:40:08,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 104 states have (on average 1.2884615384615385) internal successors, (in total 134), 103 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:08,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 134 transitions. [2025-04-26 18:40:08,219 INFO L240 hiAutomatonCegarLoop]: Abstraction has 104 states and 134 transitions. [2025-04-26 18:40:08,220 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2025-04-26 18:40:08,220 INFO L438 stractBuchiCegarLoop]: Abstraction has 104 states and 134 transitions. [2025-04-26 18:40:08,220 INFO L340 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-04-26 18:40:08,220 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 104 states and 134 transitions. [2025-04-26 18:40:08,220 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:40:08,220 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:40:08,220 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:40:08,221 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:08,221 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:40:08,221 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:40:08,221 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:40:08,221 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:08,221 INFO L85 PathProgramCache]: Analyzing trace with hash 1259724294, now seen corresponding path program 6 times [2025-04-26 18:40:08,222 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:08,222 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [969435245] [2025-04-26 18:40:08,222 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 18:40:08,222 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:08,224 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 33 statements into 3 equivalence classes. [2025-04-26 18:40:08,227 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:40:08,227 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2025-04-26 18:40:08,227 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:08,320 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:08,320 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:40:08,320 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [969435245] [2025-04-26 18:40:08,320 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [969435245] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:40:08,320 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1783443537] [2025-04-26 18:40:08,320 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 18:40:08,320 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:40:08,320 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:08,322 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 18:40:08,324 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Waiting until timeout for monitored process [2025-04-26 18:40:08,346 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 33 statements into 3 equivalence classes. [2025-04-26 18:40:08,354 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:40:08,354 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2025-04-26 18:40:08,354 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:08,355 INFO L256 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-04-26 18:40:08,355 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:08,444 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:08,444 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:40:08,526 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 3 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:08,527 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1783443537] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:40:08,527 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:40:08,527 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 20 [2025-04-26 18:40:08,527 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [396553812] [2025-04-26 18:40:08,527 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:40:08,527 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:40:08,527 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:08,527 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 11 times [2025-04-26 18:40:08,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:08,527 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1023060555] [2025-04-26 18:40:08,527 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-04-26 18:40:08,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:08,529 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:40:08,529 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:08,530 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-26 18:40:08,530 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:08,530 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:08,530 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:40:08,530 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:08,530 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:08,530 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:08,531 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:08,544 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:40:08,544 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2025-04-26 18:40:08,545 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=286, Unknown=0, NotChecked=0, Total=380 [2025-04-26 18:40:08,545 INFO L87 Difference]: Start difference. First operand 104 states and 134 transitions. cyclomatic complexity: 38 Second operand has 20 states, 20 states have (on average 3.1) internal successors, (in total 62), 20 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:08,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:40:08,967 INFO L93 Difference]: Finished difference Result 306 states and 390 transitions. [2025-04-26 18:40:08,967 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 306 states and 390 transitions. [2025-04-26 18:40:08,968 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:40:08,969 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 306 states to 306 states and 390 transitions. [2025-04-26 18:40:08,969 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 59 [2025-04-26 18:40:08,969 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 59 [2025-04-26 18:40:08,969 INFO L74 IsDeterministic]: Start isDeterministic. Operand 306 states and 390 transitions. [2025-04-26 18:40:08,970 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:40:08,970 INFO L218 hiAutomatonCegarLoop]: Abstraction has 306 states and 390 transitions. [2025-04-26 18:40:08,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 306 states and 390 transitions. [2025-04-26 18:40:08,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 306 to 110. [2025-04-26 18:40:08,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 110 states have (on average 1.309090909090909) internal successors, (in total 144), 109 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:08,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 144 transitions. [2025-04-26 18:40:08,972 INFO L240 hiAutomatonCegarLoop]: Abstraction has 110 states and 144 transitions. [2025-04-26 18:40:08,972 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2025-04-26 18:40:08,973 INFO L438 stractBuchiCegarLoop]: Abstraction has 110 states and 144 transitions. [2025-04-26 18:40:08,973 INFO L340 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2025-04-26 18:40:08,973 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 110 states and 144 transitions. [2025-04-26 18:40:08,973 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:40:08,974 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:40:08,974 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:40:08,974 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:08,974 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:40:08,977 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:40:08,977 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:40:08,977 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:08,977 INFO L85 PathProgramCache]: Analyzing trace with hash 520858760, now seen corresponding path program 7 times [2025-04-26 18:40:08,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:08,977 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1232589023] [2025-04-26 18:40:08,977 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 18:40:08,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:08,982 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-04-26 18:40:08,985 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:40:08,985 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:08,985 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:09,100 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:09,100 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-26 18:40:09,100 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1232589023] [2025-04-26 18:40:09,100 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1232589023] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-26 18:40:09,101 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2131965383] [2025-04-26 18:40:09,101 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 18:40:09,101 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-26 18:40:09,101 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2025-04-26 18:40:09,103 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-04-26 18:40:09,103 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Waiting until timeout for monitored process [2025-04-26 18:40:09,125 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-04-26 18:40:09,131 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-04-26 18:40:09,131 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:09,131 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-26 18:40:09,132 INFO L256 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-04-26 18:40:09,133 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-26 18:40:09,219 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:09,219 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-26 18:40:09,277 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-26 18:40:09,277 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2131965383] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-26 18:40:09,277 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-26 18:40:09,277 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 22 [2025-04-26 18:40:09,277 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1406771613] [2025-04-26 18:40:09,277 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-26 18:40:09,278 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-04-26 18:40:09,278 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:09,278 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 12 times [2025-04-26 18:40:09,278 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:09,278 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [897714988] [2025-04-26 18:40:09,278 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-04-26 18:40:09,278 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:09,280 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:40:09,281 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:09,281 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-04-26 18:40:09,281 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:09,281 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:09,281 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:40:09,281 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:09,282 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:09,282 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:09,282 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:09,295 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-26 18:40:09,295 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2025-04-26 18:40:09,296 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=351, Unknown=0, NotChecked=0, Total=462 [2025-04-26 18:40:09,296 INFO L87 Difference]: Start difference. First operand 110 states and 144 transitions. cyclomatic complexity: 40 Second operand has 22 states, 22 states have (on average 3.090909090909091) internal successors, (in total 68), 22 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:09,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-04-26 18:40:09,731 INFO L93 Difference]: Finished difference Result 440 states and 557 transitions. [2025-04-26 18:40:09,731 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 440 states and 557 transitions. [2025-04-26 18:40:09,732 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:40:09,734 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 440 states to 440 states and 557 transitions. [2025-04-26 18:40:09,734 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 79 [2025-04-26 18:40:09,734 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 79 [2025-04-26 18:40:09,734 INFO L74 IsDeterministic]: Start isDeterministic. Operand 440 states and 557 transitions. [2025-04-26 18:40:09,734 INFO L81 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-04-26 18:40:09,734 INFO L218 hiAutomatonCegarLoop]: Abstraction has 440 states and 557 transitions. [2025-04-26 18:40:09,735 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 440 states and 557 transitions. [2025-04-26 18:40:09,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 440 to 88. [2025-04-26 18:40:09,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 88 states have (on average 1.2613636363636365) internal successors, (in total 111), 87 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (in total 0), 0 states have return successors, (0), 0 states have call predecessors, ( in total0), 0 states have call successors, (0) [2025-04-26 18:40:09,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 111 transitions. [2025-04-26 18:40:09,737 INFO L240 hiAutomatonCegarLoop]: Abstraction has 88 states and 111 transitions. [2025-04-26 18:40:09,737 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2025-04-26 18:40:09,738 INFO L438 stractBuchiCegarLoop]: Abstraction has 88 states and 111 transitions. [2025-04-26 18:40:09,738 INFO L340 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2025-04-26 18:40:09,738 INFO L73 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 111 transitions. [2025-04-26 18:40:09,738 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-04-26 18:40:09,738 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-04-26 18:40:09,738 INFO L120 BuchiIsEmpty]: Starting construction of run [2025-04-26 18:40:09,739 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-26 18:40:09,739 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-04-26 18:40:09,740 INFO L752 eck$LassoCheckResult]: Stem: "[89] $Ultimate##0-->L34: Formula: (and (< v_ULTIMATE.start_m_3 v_N_7) (<= 0 v_ULTIMATE.start_m_3)) InVars {ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} OutVars{ULTIMATE.start_m=v_ULTIMATE.start_m_3, N=v_N_7} AuxVars[] AssignedVars[]" "[119] L34-->$Ultimate##0: Formula: (= 1 v_thread1Thread1of1ForFork2_thidvar0_2) InVars {} OutVars{thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_14} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_i]" "[92] $Ultimate##0-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[94] L51-1-->L52: Formula: (< v_thread1Thread1of1ForFork2_i_5 v_N_1) InVars {N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} OutVars{N=v_N_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_5} AuxVars[] AssignedVars[]" "[96] L52-->L53: Formula: (= v_A_1 (store v_A_2 v_thread1Thread1of1ForFork2_i_7 (let ((.cse0 (select v_A_2 v_thread1Thread1of1ForFork2_i_7))) (ite (< .cse0 0) 0 .cse0)))) InVars {A=v_A_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} OutVars{A=v_A_1, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_7} AuxVars[] AssignedVars[A]" "[97] L53-->L51-1: Formula: (= v_thread1Thread1of1ForFork2_i_10 (+ v_thread1Thread1of1ForFork2_i_9 1)) InVars {thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_9} OutVars{thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_i]" "[93] L51-1-->thread1FINAL: Formula: (<= v_N_2 v_thread1Thread1of1ForFork2_i_3) InVars {N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} OutVars{N=v_N_2, thread1Thread1of1ForFork2_i=v_thread1Thread1of1ForFork2_i_3} AuxVars[] AssignedVars[]" "[95] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[113] L34-1-->$Ultimate##0: Formula: (and (= 2 v_thread2Thread1of1ForFork0_thidvar0_2) (= 2 v_thread2Thread1of1ForFork0_thidvar1_2)) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_14, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_8} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_pos]" "[98] $Ultimate##0-->L64: Formula: (= (+ v_thread2Thread1of1ForFork0_pos_1 1) 0) InVars {} OutVars{thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_pos]" "[99] L64-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[101] L65-1-->L66: Formula: (< v_thread2Thread1of1ForFork0_j_5 v_N_4) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_5, N=v_N_4} AuxVars[] AssignedVars[]" "[103] L66-->L66-1: Formula: (and (let ((.cse0 (select v_B_9 v_thread2Thread1of1ForFork0_j_7))) (or (and (< 0 .cse0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2Thread1of1ForFork0_j_7)) (and (<= .cse0 0) (= v_thread2Thread1of1ForFork0_pos_4 v_thread2_pos_26)))) (let ((.cse1 (select v_A_13 v_thread2Thread1of1ForFork0_j_7))) (or (and (= v_thread2_pos_26 v_thread2Thread1of1ForFork0_j_7) (< 0 .cse1)) (and (<= .cse1 0) (= v_thread2Thread1of1ForFork0_pos_3 v_thread2_pos_26))))) InVars {A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_3, B=v_B_9} OutVars{A=v_A_13, thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_7, thread2Thread1of1ForFork0_pos=v_thread2Thread1of1ForFork0_pos_4, B=v_B_9} AuxVars[v_thread2_pos_26] AssignedVars[thread2Thread1of1ForFork0_pos]" "[104] L66-1-->L65-1: Formula: (= v_thread2Thread1of1ForFork0_j_10 (+ v_thread2Thread1of1ForFork0_j_9 1)) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_9} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_j]" "[100] L65-1-->thread2FINAL: Formula: (<= v_N_3 v_thread2Thread1of1ForFork0_j_3) InVars {thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} OutVars{thread2Thread1of1ForFork0_j=v_thread2Thread1of1ForFork0_j_3, N=v_N_3} AuxVars[] AssignedVars[]" "[102] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[]" "[116] L35-->$Ultimate##0: Formula: (and (= 3 v_thread3Thread1of1ForFork1_thidvar2_2) (= 3 v_thread3Thread1of1ForFork1_thidvar0_2) (= 3 v_thread3Thread1of1ForFork1_thidvar1_2)) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_14, thread3Thread1of1ForFork1_thidvar0=v_thread3Thread1of1ForFork1_thidvar0_2, thread3Thread1of1ForFork1_thidvar1=v_thread3Thread1of1ForFork1_thidvar1_2, thread3Thread1of1ForFork1_thidvar2=v_thread3Thread1of1ForFork1_thidvar2_2} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k, thread3Thread1of1ForFork1_thidvar0, thread3Thread1of1ForFork1_thidvar1, thread3Thread1of1ForFork1_thidvar2]" "[105] $Ultimate##0-->L85-1: Formula: (= v_thread3Thread1of1ForFork1_k_1 0) InVars {} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:40:09,740 INFO L754 eck$LassoCheckResult]: Loop: "[107] L85-1-->L86: Formula: (< v_thread3Thread1of1ForFork1_k_5 v_N_5) InVars {N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} OutVars{N=v_N_5, thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_5} AuxVars[] AssignedVars[]" "[109] L86-->L87: Formula: (= v_B_3 (store v_B_4 v_thread3Thread1of1ForFork1_k_7 v_thread3Thread1of1ForFork1_k_7)) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_4} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_7, B=v_B_3} AuxVars[] AssignedVars[B]" "[110] L87-->L85-1: Formula: (= (+ v_thread3Thread1of1ForFork1_k_9 1) v_thread3Thread1of1ForFork1_k_10) InVars {thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_9} OutVars{thread3Thread1of1ForFork1_k=v_thread3Thread1of1ForFork1_k_10} AuxVars[] AssignedVars[thread3Thread1of1ForFork1_k]" [2025-04-26 18:40:09,740 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:09,740 INFO L85 PathProgramCache]: Analyzing trace with hash -987275350, now seen corresponding path program 8 times [2025-04-26 18:40:09,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:09,741 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1135908424] [2025-04-26 18:40:09,741 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-26 18:40:09,741 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:09,744 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 36 statements into 2 equivalence classes. [2025-04-26 18:40:09,757 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 36 of 36 statements. [2025-04-26 18:40:09,757 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-04-26 18:40:09,757 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:09,757 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:09,759 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 36 statements into 1 equivalence classes. [2025-04-26 18:40:09,769 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 36 of 36 statements. [2025-04-26 18:40:09,770 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:09,770 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:09,772 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:09,772 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:09,773 INFO L85 PathProgramCache]: Analyzing trace with hash 136107, now seen corresponding path program 13 times [2025-04-26 18:40:09,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:09,773 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2021767426] [2025-04-26 18:40:09,773 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-04-26 18:40:09,773 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:09,775 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:40:09,776 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:09,776 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:09,776 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:09,776 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:09,776 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-04-26 18:40:09,777 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-04-26 18:40:09,777 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:09,777 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:09,777 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:09,777 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-26 18:40:09,778 INFO L85 PathProgramCache]: Analyzing trace with hash 16197474, now seen corresponding path program 3 times [2025-04-26 18:40:09,778 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-26 18:40:09,778 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1581352723] [2025-04-26 18:40:09,778 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-26 18:40:09,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-26 18:40:09,780 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 39 statements into 5 equivalence classes. [2025-04-26 18:40:09,793 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) and asserted 39 of 39 statements. [2025-04-26 18:40:09,793 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2025-04-26 18:40:09,793 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:09,793 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-04-26 18:40:09,795 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 39 statements into 1 equivalence classes. [2025-04-26 18:40:09,804 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 39 of 39 statements. [2025-04-26 18:40:09,805 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-26 18:40:09,805 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-04-26 18:40:09,807 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-04-26 18:40:11,861 INFO L206 LassoAnalysis]: Preferences: [2025-04-26 18:40:11,862 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-04-26 18:40:11,862 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-04-26 18:40:11,862 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-04-26 18:40:11,862 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-04-26 18:40:11,862 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-04-26 18:40:11,862 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-04-26 18:40:11,862 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-04-26 18:40:11,862 INFO L132 ssoRankerPreferences]: Filename of dumped script: map-aggr-update2.bpl_petrified1_Iteration16_Lasso [2025-04-26 18:40:11,862 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-04-26 18:40:11,862 INFO L243 LassoAnalysis]: Starting lasso preprocessing... [2025-04-26 18:40:12,107 WARN L176 XnfTransformerHelper]: Simplifying conjunction of 68565 disjunctions. This might take some time... [2025-04-26 18:43:23,233 INFO L192 XnfTransformerHelper]: Simplified to conjunction of 33083 disjunctions. [2025-04-26 18:43:23,388 WARN L176 XnfTransformerHelper]: Simplifying conjunction of 66307 disjunctions. This might take some time... Received shutdown request... [2025-04-26 18:43:49,417 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Ended with exit code 0 [2025-04-26 18:43:49,418 INFO L201 PluginConnector]: Adding new model map-aggr-update2.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 26.04 06:43:49 BoogieIcfgContainer [2025-04-26 18:43:49,419 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2025-04-26 18:43:49,419 INFO L158 Benchmark]: Toolchain (without parser) took 282516.38ms. Allocated memory was 167.8MB in the beginning and 926.9MB in the end (delta: 759.2MB). Free memory was 89.8MB in the beginning and 655.9MB in the end (delta: -566.1MB). Peak memory consumption was 565.7MB. Max. memory is 8.0GB. [2025-04-26 18:43:49,419 INFO L158 Benchmark]: Boogie PL CUP Parser took 1.02ms. Allocated memory is still 167.8MB. Free memory is still 90.8MB. There was no memory consumed. Max. memory is 8.0GB. [2025-04-26 18:43:49,423 INFO L158 Benchmark]: Boogie Procedure Inliner took 38.22ms. Allocated memory is still 167.8MB. Free memory was 89.8MB in the beginning and 88.0MB in the end (delta: 1.8MB). There was no memory consumed. Max. memory is 8.0GB. [2025-04-26 18:43:49,424 INFO L158 Benchmark]: Boogie Preprocessor took 26.38ms. Allocated memory is still 167.8MB. Free memory was 88.0MB in the beginning and 87.0MB in the end (delta: 1.0MB). Peak memory consumption was 4.2MB. Max. memory is 8.0GB. [2025-04-26 18:43:49,424 INFO L158 Benchmark]: RCFGBuilder took 202.77ms. Allocated memory is still 167.8MB. Free memory was 86.8MB in the beginning and 76.1MB in the end (delta: 10.7MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. [2025-04-26 18:43:49,424 INFO L158 Benchmark]: BuchiAutomizer took 282246.12ms. Allocated memory was 167.8MB in the beginning and 926.9MB in the end (delta: 759.2MB). Free memory was 75.9MB in the beginning and 655.9MB in the end (delta: -580.0MB). Peak memory consumption was 553.1MB. Max. memory is 8.0GB. [2025-04-26 18:43:49,425 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 1.02ms. Allocated memory is still 167.8MB. Free memory is still 90.8MB. There was no memory consumed. Max. memory is 8.0GB. * Boogie Procedure Inliner took 38.22ms. Allocated memory is still 167.8MB. Free memory was 89.8MB in the beginning and 88.0MB in the end (delta: 1.8MB). There was no memory consumed. Max. memory is 8.0GB. * Boogie Preprocessor took 26.38ms. Allocated memory is still 167.8MB. Free memory was 88.0MB in the beginning and 87.0MB in the end (delta: 1.0MB). Peak memory consumption was 4.2MB. Max. memory is 8.0GB. * RCFGBuilder took 202.77ms. Allocated memory is still 167.8MB. Free memory was 86.8MB in the beginning and 76.1MB in the end (delta: 10.7MB). Peak memory consumption was 8.4MB. Max. memory is 8.0GB. * BuchiAutomizer took 282246.12ms. Allocated memory was 167.8MB in the beginning and 926.9MB in the end (delta: 759.2MB). Free memory was 75.9MB in the beginning and 655.9MB in the end (delta: -580.0MB). Peak memory consumption was 553.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 282.1s and 16 iterations. TraceHistogramMax:4. Analysis of lassos took 279.0s. Construction of modules took 0.8s. Büchi inclusion checks took 1.8s. Highest rank in rank-based complementation 3. Minimization of det autom 0. Minimization of nondet autom 15. Automata minimization 0.1s AutomataMinimizationTime, 15 MinimizatonAttempts, 1115 StatesRemovedByMinimization, 14 NontrivialMinimizations. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [6, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1153 SdHoareTripleChecker+Valid, 1.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1149 mSDsluCounter, 874 SdHoareTripleChecker+Invalid, 0.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 619 mSDsCounter, 95 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1908 IncrementalHoareTripleChecker+Invalid, 2003 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 95 mSolverCounterUnsat, 255 mSDtfsCounter, 1908 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont0 unkn0 SFLI0 SFLT0 conc1 concLT0 SILN0 SILU8 SILI0 SILT0 lasso6 LassoPreprocessingBenchmarks: Lassos: inital191 mio100 ax100 hnf100 lsp1325 ukn18 mio100 lsp106 div100 bol100 ite100 ukn100 eq152 hnf98 smp66 dnf7030 smp29 tf100 neg100 sie100 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 69ms VariablesStem: 11 VariablesLoop: 0 DisjunctsStem: 22 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 48 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 0.2s InitialAbstraction: Time to compute Ample Reduction [ms]: 282, Number of transitions in reduction automaton: 366, Number of states in reduction automaton: 216, Underlying: - StatisticsResult: Constructed decomposition of program Decomposition not yet finished - TimeoutResult: Timeout (de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction) Buchi Automizer is unable to decide termination: Timeout while BuchiAutomatonCegarLoop was analyzing lasso (stem: length 37 TraceHistMax 4 loop: length 4 TraceHistMax 1),while LassoBuilder was applying LassoPartitioneer to lasso for termination ,while CnfTransformerHelper was XNF transformer was simplifying 66307 disjunctions. . [2025-04-26 18:43:49,428 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-04-26 18:43:49,429 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-04-26 18:43:49,429 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-04-26 18:43:49,431 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Timeout while monitored process is still running, waiting 1000 ms for graceful end RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown [2025-04-26 18:43:49,432 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -smt2 -in -t:4000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-04-26 18:43:49,432 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Timeout while monitored process is still running, waiting 1000 ms for graceful end